-
Notifications
You must be signed in to change notification settings - Fork 329
Report of "SOFA dev meetings"
Join us every Wednesday 9 am CET online: www.sofa-framework.org/sofa-dev-meeting
- 📢 SOFA Technical Committee
- Last minute registration❗
- Program online: sofa-framework.org/stc19/program
- 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
- #5520 [SofaCUDA] Fix warning regarding type of deviceIsValid Merge first #5517 and rebase. → ready
- #5518 [CollisionModel] Rename proximity data to contactDistance Suggestion has been made to rename it instead proximityDistance since it is a proximity used, then the contact/alarmDistance will be used in the process → keep to review
- #5517 [SofaCUDA] Fix OOT compilation of plugin depending on SofaCUDA → ready
- #5513 [CMake] Add SofaMatrix.Qt to the presets Export of target in some plugins has not been updated (cmake.in) → wip
- #5512 [SofaMatrix] Introduce widget to visualize a matrix in the GUI using imgui The RequiredPlugin is a bit heavy to use for a widget → ready
- #5511 [CMake] Add flag to enable the use of a local directory for external projects The associated doc page could be updated → keep to review (and merge along the doc PR)
-
#5508 [Collision.Geometry] Contribute to the BoundingBox only if drawn
The
onlyVisible
variable should be documented and possibly renamed because its use is pretty unclear. It is true if the BoundingBox is only computed for visible objects. This would be eased using the template method pattern. Open an issue on that subject (make this mechanism more robost) → ready - #5494 [CMake] Add SofaSphFluid.CUDA to the presets Relaunch the CI and then merge → keep to review
- #5493 [CMake] Add SofaDistanceGrid.CUDA to the presets Relaunch the CI and then merge → keep to review
- #5492 [CMake] Add SoftRobots.CUDA to the presets Relaunch the CI and then merge → keep to review
- #5491 [CMake] Add BeamAdapter.CUDA to the presets Relaunch the CI and then merge → keep to review
- #190 [BeamAdapter.CUDA] Fix for refactored SofaCUDA cmake, and overall fix compilation Works on both the plugin CI and the SOFA CI (activating CUDA) → ready
- #191 Make imgui available outside the library Visualizing matrices in the ImGui led to this PR → ready
- #5 Add CI on CSparseSolvers → ready
- #5509 [SofaCUDA] Reorder inclusion of SofaCUDA plugin and fix name of Sofa.Qt target
- #5504 [Constraint] replace bwdInit by init
- #5506 [Core] The Jacobian matrix of the constraints must be evaluated at the previous state
- #5372 [Lagrangian] Remove multigrid support in LCPConstraintSolver
- #5505 [Core] Deprecate unused method rebuildSystem
- #5487 [Core] Remove not relevant comment
- #5507 [Lagrangian.Model] Redundant reading of free position
- #5503 [Constraint] Introduce correctionFactor function for factorization
- #5490 [Core] Apply template method design pattern to CollisionModel::draw
- #5480 [SofaCUDA] Modernize cmake
- #501 [stlib-splib] work on prefabs: cleaning
- #499 [Bindings.Helper] Add bindings to retrieve config directories
- #70 Apply changes introduced by modernization of SofaCUDA cmake
- #71 Exit build when ci-depends-on is broken and notify user
- #69 Add option to limit number of job pool for CGAL
- #32 Fix windows compilation
- #31 Fix compilation MeshGenerationFromPolyhedron
- #29 Add option allows to activate JOB pool limitation
- #30 Fix mesh_criteria_3 parameters name change in CGAL >= v3.8
- 📢 SOFA Technical Committee
- Last minute registration❗
- Program online: sofa-framework.org/stc19/program
- On the support of the CGAL plugin
- Attempt to provide a maximum of resources (space and memory) for the CGAL plugin, but we reached the point where the plugin can not be decently compiled on VM
- Suggestion :
- avoid compiling it on the Ubuntu CI
- test to remove the optimization (o0 or o1)
- Template method pattern: Shall we disable polymorphism by simply removing the virtual keyword (risking shadowing) or lock it by using final keyword ?
Related PRs:
- #5487 [Core] Unvirtualize drawVisual
- #5456 [Framework] Apply template method design pattern to Contact
- #5466 [Framework] Apply template method design pattern to BaseMapping → It is agreed to use the final keyword to give strong guarantee that the deactivaiton of object will work. But we need to keep in mind that this might not be always wanted, blocking overriding is somehow a bad C++ habit.
- #5509 [SofaCUDA] Reorder inclusion of SofaCUDA plugin and fix name of Sofa.Qt target GUIs are included before the plugins but not the case when they are used in external directories. CUDA extension in Sofa.Qt. → ready
-
#5508 [Collision.Geometry] Contribute to the BoundingBox only if drawn
Removing the
!
operator ononlyVisible
seems strange. → keep to review - #5507 [Lagrangian.Model] Redundant reading of free position → ready
- #5506 [Core] The Jacobian matrix of the constraints must be evaluated at the previous state This wasn't breaking until now because codes using the API where either not using the passed data, patching their implementation or the constraint directions where constant during the simulation. → ready
- #5505 [Core] Deprecate unused method rebuildSystem Fix mis-definition of the DEPRECATED compatibility layer → keep to review then ready
-
#5504 [Constraint] replace bwdInit by init
Avoid uses of the
bwdInit()
function in favor ofinit()
and Data dependencies should manage the update → ready - #5503 [Constraint] Introduce correctionFactor function for factorization Remove duplicated code by introducing a static method. → ready
- All following PRs need the #5509. Filter to be done in the CI scripts on all plugins names XXX.CUDA (possibly not just based on the name SofaCUDA)
- #5490 [Core] Apply template method design pattern to CollisionModel::draw Reviews taken into account → ready
- #5487 [Core] Unvirtualize drawVisual See technical discussions. Keep the removal of comment → keep to review
- #5480 [SofaCUDA] Modernize cmake → ready
- #5372 [Lagrangian] Remove multigrid support in LCPConstraintSolver Removing un-used codes and variables. Use deprecation before removal. → ready
-
#499 [Bindings.Helper] Add bindings to retrieve config directories
Mirror the API introduced by Eulalie adding
getSofaUserLocalDirectory
to thesetConfigDirectoryPath
→ ready
- #190 Fix for which matrix is diagonal Add sentence to state that the final W matrix is also diagonal. → keep to review then ready
- #71 Exit build when ci-depends-on is broken and notify user Message is now added when a PR (i.e. branch) in a plugin cannot be merged with the master branch of the plugin. → ready
- #70 Apply changes introduced by modernization of SofaCUDA cmake Requires SOFA PR #5480 → ready
- #69 Add option to limit number of job pool for CGAL → ready
- #30 Fix mesh_criteria_3 parameters name change in CGAL >= v3.8 Fix the compilation with the newer version of CGAL → ready
- #29 Add option allows to activate JOB pool limitation Allow to deactivate the limiting pool mechanism during the plugin compilation. Needs the PR #69 on CI → ready
-
#15 Fix cuda compilation with revamped SofaCUDA
SofaCUDA there is a core (
sofa/gpu/
) and the components (src/SofaCUDA/
). → ready
- #5500 [Core,Lagrangian] Add some useful comments
- #5499 [Core] Replace raw pointer by SingleStateAccessor
- #5427 [Type] Mat: Fix unsafe methods (constructor and assignement) from ptr
- #5498 [Core] Simplify constraint force computation
- #5472 [Core] Rename Constraint to LagrangianConstraint
- 📢 Last minute registration for STC#19:exclamation:
- Vote for the STC discussion topics will take place at the SOFA dev meeting
- 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
- #5499 [Core] Replace raw pointer by SingleStateAccessor → ready
-
#5498 [Core] Simplify constraint force computation
MatrixLinearSolver and ConstraintCorrection are computing similar things. Now it uses existing functions
addMulTranspose
andmultTransposeBaseVector
. For later:- Since both functions compute the same thing on different matrix type, we should investigate if this could be factorized
- Note that the matrix type is the SparseMatrix, but we could use a smarter matrix type (without map of map). This needs to be tested → ready
- CUDA for plugins in presets Discuss with Paul but this means the configure.sh file should be updated. Possibly find a way to automatize the detection of CUDA plugins → keep to review
-
#5490 [Core] Apply template method design pattern to CollisionModel::draw
Use the
isComponentStateInvalid()
else it mimics the pattern of the VisualModel. Possibly add a comment specifying that this functions should be removed once the delegation is applied on BaseObject → keep to review - #5487 [Core] Unvirtualize drawVisual virtual final functions are a trick to warn developers but it helps developers and understanding of the behavior. PR is fine but nee to be rediscussed (either ready or close it) : how valuable it is preventing the shadowing ease understanding of the code and prevent error → keep to review
- #5480 [SofaCUDA] Modernize cmake Changing file architecture (but it remains strangely organized sofa/gpu vs SofaCUDA). It should be split in two : SofaCUDA/Component and SofaCUDA/framework/. This PR also updates the CMake to be compatible with latest version of CUDA. Native keyword allows not to specify the architecture but it requires 3.24+ CMake version. This PR fixes also the compilation on Win with latest CUDA 12 versions. TriangularFEMForceFieldOptim code is requesting the CUDA 6+, a proper check should be done with a warning (else atomic_add will fail in double). One conflict remains, then ready. → keep to review
- #5472 [Core] Rename Constraint to LagrangianConstraint → ready
- #5372 [Lagrangian] Remove multigrid support in LCPConstraintSolver CI does not successfully configure, to be investigated → back to wip
- #190 [BeamAdapter.CUDA] Fix for refactored SofaCUDA cmake, and overall fix compilation Possibly depends on the #5491, let's wait for it. PR looks fine, restart the CI after #5491 is merged → keep to review
- #5458 [SofaCUDA] Remove code related to SPH
- #5406 [VolumetricRendering] Apply new factory registration mechanism
- #5497 [Simulation.Core] Deprecate AnimateVisitor
- #5426 [SofaDistanceGrid] Substitute pointer-sharing and ref-counting mechanism of the DistanceGrid class with std smart pointers
- #5495 [Core] Update comment to reflect code
- #5425 [SOFADistanceGrid] Replace pointer to the mstate with a link in the collision models of the plugin
- #5411 [SofaDistanceGrid] New scenes and regression tests for the plugin
- #5488 [ODESolver] Fix warnings in StaticSolver
- #5479 [Core] Remove useless inheritance in BaseInteractionProjectiveCS
- #5469 [Core] Update deprecation date
- #5431 [Topology.Container.Dynamic] Missing call to super init
- #187 Cleaning of AdaptiveBeamForceFieldAndMass
- #192 Remove quote to send real boolean
- #191 Add 'notify dashboard' step to CI
- #185 [Interpolations] Remove raw ptr for mstate and topology
- #188 DisplayFlags widget
- #189 Add 'Notify dasboard' step to CI
- #185 [ImGui] QoL: Remember last window position/size
- #180 [CI] Update workflow to match branch name
- #186 [GLFW] macOS/cocoa: do not set icon on window
- #187 [CI] Fix deployment
- #13 Move CUDA code related to SPH from SofaCUDA to a SofaSphFluid extension
- #9 Update regarding changes done in #7
- #12 Change from gitter to discord
- 📢 STC#19 registration is open: register online now ❗
- Release branch v25.06 has just been created on the SOFA repository as well as on every supported plugins
- Ongoing sprint with SED Nancy on the application of the template method pattern on the base API
-
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
- #187 [CI] Fix deployment → ready
- #186 [GLFW] macOS/cocoa: do not set icon on window → ready
- #185 [ImGui] QoL: Remember last window position/size Last check to be done → keep to review
- #5438 [IO.Mesh] Add check on VTK format version
- #5440 [Core] isComponentStateInvalid function
- #5423 [Core] Rename BaseConstraint to BaseLagrangianConstraint
- #5116 [Engine.Select] Automatically find topology in MeshBoundaryROI
- #5430 [LinearSolver] Fix usage of a wrong pointer
- #182 Add CMake flag to optionnaly deactivate x11
- #181 Refactor window closing logic
- #184 increase precision when displaying a scalar
- #183 Show jacobian matrix using prettyPrint function
- 📢 STC#19 registration is open: register online now ❗
- SOFA release branch v25.06 has just been created, ready for stabilization and release
- SOFA consortium will take part to the Slicer Week #43 in Montreal from June 23rd to June 27th
- 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
- #5431 [Topology.Container.Dynamic] Missing call to super init Let's wait for the tests then ready → ready
- #5430 [LinearSolver] Fix usage of a wrong pointer → ready
- #5427 [Type] Mat: Fix unsafe methods (constructor and assignement) from ptr Fred will do a new PR to depreciate those unesafe methods → ready
- #5426 [SofaDistanceGrid] Substitute pointer-sharing and ref-counting mechanism of the DistanceGrid class with std smart pointers Same, waiting for the #5411 and add ci-depends → keep to review
- #5425 [SOFADistanceGrid] Replace pointer to the mstate with a link in the collision models of the plugin Rebase will be needed, waiting for the #5411 → keep to review
- #5423 [Core] Rename BaseConstraint to BaseLagrangianConstraint Merge PRs on plugin (warning: create the release branches before those commits) → ready
- #5411 [SofaDistanceGrid] New scenes and regression tests for the plugin No time to investigate the problematic scenes so far, only two scenes added. Windows tests will be re-run, but it should not be related to the PR. See le results of the tests → then ready
- #5116 [Engine.Select] Automatically find topology in MeshBoundaryROI Might neet to update clang versions on ubuntu/fedora to be able to use std::view. Need to wait for a rebuild on fedora. Milestone updated: v25.12 → keep to review
- #185 [Interpolations] Remove raw ptr for mstate and topology Add inheritance to SingleStateAccessor. → keep to review
-
#184 [Interpolations] Fix init stage
Very young PR, replacing the
bwdInit
function. → ready
- #183 IRC: Fix compilation for clang
- #181 [IRC] Fix things about xTips
- #180 Add more regression tests
- #179 [Scenes] Fix runtime warnings, and consistent behavior between python and xml
- 📢 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
- SOFA consortium will take part to the Slicer Week #43 in Montreal from June 23rd to June 27th
- 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 ofsofa::helper::system::FileSystem
(see Fred's comment) - Decision : use
std::filesystem
directly in the SOFAFileSystem
- Linux error only since when the folder is existing, an error is thrown. We should either use
-
#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.
- #5426 [SofaDistance Grid] Substitute pointer-sharing and ref-counting mechanism of the DistanceGrid class with std smart pointers Add ci-depends Erik → keep to review
- #5425 [SOFADistanceGrid] Replace pointer to the mstate with a link in the collision models of the plugin Wait for #5411. Possibly rely on the SingleStateAccessor instead to take advantage of init mechanism → keep to review
- #5423 [Core] Rename BaseConstraint to BaseLagrangianConstraint Plugins need to be updated (e.g. MOR) → keep to review
- #5419 [SofaImplicitField] A bit of cleaning in the plugin → ready
- #5411 New scenes and regression tests for the SofaDistanceGrid plugin See technical discussions → keep to review
-
#5406 [VolumetricRendering] Apply new factory registration mechanism
Errors where thrown when using namespace
volumetricrendering::cuda
because of the explicit instanciation. Either put it in the right namespage or use absolute namespace when instanciating it. → wip - #25383 [_MechanicalLoad] Factorize damping forcefields Get back to regular C++ loops → back to wip
- #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
- #181 [IRC] Fix things about xTips → ready
- #180 Add more regression tests Related to #179 → keep to review
- #179 [Scenes] Fix runtime warnings, and consistent behavior between python and xml Investigation has still to be performed. Wait for discussion wi27th Christian (STC)→ keep to review
- #188 Documentation for FixedLagrangianConstraint Paul wants to suggest some additional doc text → keep to review
- #80 Update regresion_test.py Need to update the script → keep to review
- #81 Reference files for regression tests in the SofaDistanceGrid plugin Need to be at least reviewed to make sure it has not been generated using a DEBUG configuration. → wip
- #5394 [ArticulatedSystemPlugin] Apply new factory registration mechanism
- #5392 [SofaImplicitField] Apply new factory registration mechanism
- #5391 [SofaDistanceGrid] Apply new factory registration mechanism
- #5421 [Lagrangian.Model] Remove extra endEdit
- #5404 [CollisionOBBCapsule] Apply new factory registration mechanism
- #5096 [runSofa,Helper] Changes screenshots and config directories location
- #5415 [examples] Run PluginFinder
- #178 [IRC] Add checks/warnings at init stage
- #177 [Wire Shape] Fix the confusion between the nbEdgesCollision and the number of mechanical Beams
- #176 [InterventionalRadiologyController] Remove remnant of the "broken" feature
- #175 [All] Clean types
- 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.
-
#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 might be great to fix that and enable a mechanism of
- 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.
- 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.
- #5415 [examples] Run PluginFinder Wait for scene tests → then ready
- #5411 About the SofaDistanceGrid plugin → see technical discussions
- #5394 [ArticulatedSystemPlugin] Apply new factory registration mechanism Wait to see if the scene tests failing are real fails. → keep to review
-
#5391 [SofaDistanceGrid] Apply new factory registration mechanism
The embeded namespace
sofadistancegrid::cuda
should be the right one. It shows that it is part of the CUDA extension of SOFADistanceGrid. And still some comments to be answered. → keep to review - #5383 [MechanicalLoad] Factorize damping forcefields Alex is doubtful that the code could be factoried because of the use of accessors, and the need to be compatible with both Vec and Rigid types. → keep to review
- #5375 [Mass,MechanicalLoad] Use enumeration to clarify the code Take suggestion into account → wip
- #494 [doc] Fix examples given in the First Steps Need to be tested. Might be good to use ImGui instead of QGLViewer → keep to review
- #180 Add more regression tests Wait for PR on Regression → keep to review
- #179 [Scenes] Fix runtime warnings, and consistent behavior between python and xml Investigate if, which, and when the component are used for mass contribution. This could be done using tool to export mass matrix for instance. → keep to review
-
#178 [IRC] Add checks/warnings at init stage
Add warning when size of MState and Topology is incompatible with the maximum size of deployed beam because it will break at one point.
We will need to rethink this mechanism to maybe enable the dynamic modification of both the topology and the mstate to avoid having to set this beforehand.
→ ready -
#177 [Wire Shape] Fix the confusion between the nbEdgesCollision and the number of mechanical Beams
Remove correlation between topologies for collision model, visual model and mechanical model. Now you can have different number of edges for collision, mechanical computation. Erik wants to have time to review it and make sure this is mechanically possible.
(Out of scope: Investigate why unit tests are failling even in master). → keep to review -
#176 [InterventionalRadiologyController] Remove remnant of the "broken" feature
Remove old artifact of the feature 'Broken in two' that allowed to not simulate a part of the beam. It was not working anyway.
→ ready - #175 [All] Clean types Type cleaning, use const, remove ref when possible and use SOFA types. → ready
- #79 Make the scene test name to include extension Use it in a SOFA PR with a ci-depends-on before merge → keep it to review
- #5417 [examples] remove non-existing plugin
- #5416 [examples] Remove scenes with SleepController
- #5418 [Examples] Remove examples using Monitor
- #5397 [SofaMatrix] Apply new factory registration mechanism
- #5403 [SofaCarving] Apply new factory registration mechanism
- #5395 [SofaEulerianFluid] Apply new factory registration mechanism
- #5387 [Geomagic] Apply new factory registration mechanism
- #5382 [ODESolver.Backward] Refactor StaticSolver to use NewtonRaphsonSolver
- #5313 [CMake] Remove cmake ignore path install prefix
- #186 Fix markdown of lists
- #185 Finalize doc gen for plugin
- #184 Fix description
- #183 Fix enumerations
- #182 Change the note for plugins and fix an image
- #179 Add headers for auto generated plugin list
- #181 25 04 fix doc build
- #180 Allow workflow dispatch to specify a script branch to run
- #178 Add scripts for auto generation
- #177 Introduction of BDFOdeSolver
- #176 Introduction of NewtonRaphsonSolver
- 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
- 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!
- #5383 [MechanicalLoad] Factorize damping forcefields Wait for the CI → keep to review
- #5382 [ODESolver.Backward] Refactor StaticSolver to use NewtonRaphsonSolver The polar decomposition does not seem to converge using 100 Newton iterations, which is highly suspicious (see #5400). Explicit link added. → ready
- #5375 [Mass,MechanicalLoad] Use enumeration to clarify the code → keep to review
- #5313 [CMake] Remove cmake ignore path install prefix We need to add information in the documentation on good practice on how to set the install dir (or where not to put it, aka the build dir...) → ready
- #5096 [runSofa,Helper] Changes screenshots and config directories location Just wait for the CI → ready
- #179 Add headers for auto generated plugin list → keep to review
- #178 Add scripts for auto generation. → keep to review
- #177 Introduction of BDFOdeSolver → ready
- #176 Introduction of NewtonRaphsonSolver → ready
- #14 Apply new factory registration mechanism CI needs to be restarted → keep to review
- #5385 [Type] Template deduction guide for fixed_array and Vec
- #5401 [CI] Nix: Fix CI
- #5356 [All] Move fetched guis folders into dedicated folder
- 📢 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.
- 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
- #5397 [SofaMatrix] Apply new factory registration mechanism Paul will change the namespaces in this pr then ready → keep to review
- #5395 [SofaEulerianFluid] Apply new factory registration mechanism Paul will change the namespaces in this pr then ready → keep to review
- #5394 [ArticulatedSystemPlugin] Apply new factory registration mechanism Paul will change the namespaces in this pr then ready → keep to review
- #5392 [SofaImplicitField] Apply new factory registration mechanism Paul will change the namespaces in this pr then ready → keep to review
- #5391 [SofaDistanceGrid] Apply new factory registration mechanism Paul will change the namespaces in this pr then ready → keep to review
- #5390 [Presets] Activate Cosserat and clean postinstall-fixup Scene test are failing → wip
- #5387 [Geomagic] Apply new factory registration mechanism Paul will change the namespaces in this pr then ready → keep to review
- #5385 [Type] Template deduction guide for fixed_array and Vec → ready
- #5383 [MechanicalLoad] Factorize damping forcefields Tests are failing → wip
-
#5382 [ODESolver.Backward] Refactor StaticSolver to use NewtonRaphsonSolver
Static solver is now using the recently-introduced NewtonRaphson to avoid code duplication.
correction_norm
is not computed anymore, the associated has been removed. Timers have been updated too. A compatiblity layer has also been added. Expliciting the Newton-Raphson link should be added. The polar decomposition does not seem to converge using 100 Newton iterations, which is highly suspicious. → wip - #5375 [Mass,MechanicalLoad] Use enumeration to clarify the code Need more feedback → keep to review
- #5372 [Lagrangian] Remove multigrid support in LCPConstraintSolver Need to fix tests failing → back to wip
- #5356 [All] Move fetched guis folders into dedicated folder Wait for Fred's feedback, else seems fine. → keep to review
- #5313 [CMake] Remove cmake ignore path install prefix Paul tested whether having the install within the build breaks and it does with gtest. But no problem when the install dir is defined outside the build directory. So this is ok → ready
- #5096 [runSofa,Helper] Changes screenshots and config directories location Pending feedback from authors/contributors → keep to review
- #1618 [plugins] Beam plastic This can now be closed the plugin repository has been added, see BeamPlastic plugin. → close
- #177 Introduction of BDFOdeSolver → ready
- #176 Introduction of NewtonRaphsonSolver An example snipped will be added. → keep to review then ready
- #14 Apply new factory registration mechanism Paul will change the namespaces in this pr then ready → keep to review
- #11 Apply new factory registration mechanism Paul will change the namespaces in this pr then ready → keep to review
- #5388 [Defaulttype, Helper] Return empty string instead of zero
- #5386 [Engine] Remove docstring for GenerateCylinder
- #5376 [ODESolver.Backward] BDFOdeSolver: Fix assertions
- #5332 [CMake] Fetch in build dir instead of source to avoid lots of cmake errors
- #5373 [examples] Minor update default scene
- #5374 [Mapping] Remove warning in DistanceToPlaneMapping_test.cpp
- #65 Modify regression settings for fetch in build
- #64 Modify ci-depends-on for fetching in build
- #63 Modify scene tests for fetching in build
- 📢 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.
- 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
- #5376 [ODESolver.Backward] BDFOdeSolver: Fix assertions Alex is going to take a look at it → keep to review
- #5375 [Mass,MechanicalLoad] Use enumeration to clarify the code Fix the tests → wip
- #5374 [Mapping] Remove warning in DistanceToPlaneMapping_test.cpp → ready
- #5373 [examples] Minor update default scene To be tested before merge → keep to review
-
#5372 [Lagrangian] Remove multigrid support in LCPConstraintSolver
Request of a compatibility layer for the
getConstraintInfo
function. Tests failing to be fixed too. → wip - #5332 [CMake] Fetch in build dir instead of source to avoid lots of cmake errors Merge CI - PR and ci-depends-on in the right order. Update the CMakeLists in plugins so that it lists the fetchable plugins without empty folders. List in the documentation the supported plugins. Then ready → ready
- #5313 [CMake] Remove cmake ignore path install prefix Paul did check this contribution. A risk is that a cmake after installation might point to the install dir instead of the build dir. Try an install out from SOFA, comment and merge → keep to review
- #5096 [runSofa,Helper] Changes screenshots and config directories location Failure may come from the fact that Ubuntu is using docker. To be investigated. Tests should also not fail on local computer. Scene tests have still to be fixed. → keep to review
- #1618 [plugins] Beam plastic → see technical discussions
- #7 Add bindings for SofaPython3 → ready
- #5362 [Examples] Add an option to (not) build SimpleAPI examples
- #5369 [All] Fix warnings
- #5361 [CMake] Remove references to deleted projects/option
- #5360 [all] Lifecycle : Disable SOFA_ATTRIBUTE_DEPRECATED
- #5336 [GUI.Common] Clean and fix MouseOperation
- #5367 [examples] Fix wrong topology Data arrays on the surface mesh in HexahedralFEMForceField.scn
- #5363 [CMake] Fix install process with default option SOFA_INSTALL_RESOURCES_FILES
- #5359 [all] Lifecycle : Remove SOFA_ATTRIBUTE_DISABLED, forgotten files
- #5349 [CMake] Remove compatibility layer in macro
- #5341 [All] Spring cleaning 5: reduce size of ressources
- #5339 [Tutorials] Spring cleaning 3: remove old c++ tutorials
- #5325 [All] Spring cleaning 1: clean main & tools directories
- #5324 [examples] Propose a new default scene
- #5173 [ODESolver] Introduction of generic Newton-Raphson algorithm
- #5347 [all] Lifecycle : Remove SOFA_ATTRIBUTE_DEPRECATED (part 2)
- #174 Fix warnings
- #173 Fix compilation BeamInterpolation_test.cpp
- #172 Remove SteerableCatheter
- #169 [BeamInterpolation] Generalize parameters per edge
- Registration to the 19th SOFA Technical Committee is open (and still free): online registration
- 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)
- #5355 [Type] Fix cmake warning for boost Fix windows and fedora and update the minimal versio of Boost required. → WIP
- #5349 [CMake] Remove compatibility layer in macro This has been introduced 5 years ago. It can be removed now. → ready
- #5341 [All] Spring cleaning 5: reduce size of ressources → ready
- #5339 [Tutorials] Spring cleaning 3: remove old c++ tutorials It would be great to have all the python bindings using the simplAPI. This would ensure that the pythons bindings are mirrored in SimpleAPI. Currently the GUIs are dealt with python but not SimpleAPI, but it could be shared. It might exists some automation tool that synchronize bindings ? Add an issue on enriching SimpleAPI to discuss it at the next STC. ConstraintAttachButtonSetting was not being added. This might be tranformed as an issue. → ready
- #5336 [GUI.Common] Clean and fix MouseOperation investigate the compilation error → keep to review
- #5325 [All] Spring cleaning 1: clean main & tools directories → ready
- #5324 [examples] Propose a new default scene → ready
- #5313 [CMake] Remove cmake ignore path install prefix Try it with the install folder in build and try to put the install folder outside the build folder. → Then ready
- #489 [SofaGui] Remove Sofa.Gui.Qt references Update the scenes (import SofaQt) → then ready
- #488 [Test] Fix test_dump_json test → already merged
- #172 Remove SteerableCatheter Not working anymore, very old. → ready
- #169 [BeamInterpolation] Generalize parameters per edge → ready
- #60 Update macos install script used during macos builder update → ready
- #57 Configure plugin Cosserat Use preset in the PR on SOFA → closed
- #7 Add bindings for SofaPython3 Wait for SofaPython3/pull/489 to be ready, then merge both in the same time → ready
- #5338 [GUI.Common] Change inheritance of ConstraintAttachOperation
- #5334 [IO.Mesh.BlenderExporter] Inherit from BaseSimulationExporter
- #5353 [examples] Fix SofaScene not launched during scene tests
- #5346 [all] Lifecycle : Remove SOFA_ATTRIBUTE_DEPRECATED (part 1)
- #5315 [Lagrangian] Add loading capability for bilateral constraints
- #5340 [projects] Spring cleaning 4: Remove forgotten projects
- #5335 [scripts] Spring cleaning 2: Move old scripts in deprecated folder
- #5352 [LinearSystem] Fix mass access on macos
- #5321 [IO.Mesh.VTKExporter] Inherit from BaseSimulationExporter
- #5342 [Type] Add tests on Vec default constructor
- #5317 [Core] SingleStateAccessor: add explicit instantiations
- #5344 [tests] Prevent test leaks when loading plugins
- #6 Remove unused 'config/object' mechanism
- #5 Auto activate NODEGRAPH if NodeEditor is found
- #2 Remove GUI from target name
- Registration to the 19th SOFA Technical Committee is open (and still free): online registration
- Sprint SED, two topics were suggested
- propagate the template-method pattern
- dashboard of plugins
- Demo of haptics from Haply Robotics
- 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
- #5335 [scripts] Spring cleaning 2: Move old scripts in deprecated folder Might be great to also execute the script for dox comments on the CI. → keep to review
- #5334 [IO.Mesh.BlenderExporter] Inherit from BaseSimulationExporter Check if the exported file is readable (not mandatory for the PR to pass). Same comment on reinit than #5321 → keep to review
- #5332 [CMake] Fetch in build dir instead of source to avoid lots of cmake errors → see technical discussions
- #5325 [All] Spring cleaning 1: clean main & tools directories sofa-launcher should have its own repository. astyle could also disappear but clang style should be used on the CI → keep to review
- #5324 [examples] Propose a new default scene → see technical discussions
- #5321 [IO.Mesh.VTKExporter] Inherit from BaseSimulationExporter Wait for last modification then ready → keep to review
- #5317 [Core] SingleStateAccessor: add explicit instantiations → ready
-
#5315 [Lagrangian] Add loading capability for bilateral constraints
Change WriteOnly into setValue().
Unify the callback api : add a method
addDirectCallback
in another PR. → keep to review - #5313 [CMake] Remove cmake ignore path install prefix Make sure all supported plugin doesn't override the install path. Test an installation process. If fine, then ready. (+add in documentation that a good dev process is to put the install dir outside of build directory) → keep to review
- #5173 [ODESolver] Introduction of generic Newton-Raphson algorithm Introduce a standard way of defining ODE solvers by only passing recurrence coefficient. One familly type of LinearMultistepMethods is already implemented. But it is easy to add more. Last reviews this week, then ready. Think a an example scene where N-R method is required for good behavior (crushing something ?) → keep to review
- #1618 [plugins] Beam plastic A repository has been created here, but we are waiting for UCA feedback → keep to review
- #169 [BeamInterpolation] Generalize parameters per edge Change occurs on a component not used by InfinyTech3D. Tests have been fixed but constant variables should be constexpr → keep to review
- #173 [Linux] installation of GUIs Take comment into account → keep to review
- #6 Remove unused 'config/object' mechanism Remove unused symbol → keep to review
- #5 Auto activate NODEGRAPH if NodeEditor is found → ready
- #5348 [Topology] Fix warning in TriangleSubdividers
- #5318 [Haptics.tests] Fix LCPForceFeedback blinking tests on ci
- #5297 [Topology.container.dynamic] Add method computeTriangleBarycentricCoordinates and depreciate old versions
- #5300 [Topology.container.dynamic] Add new method computeIncisionPath using new PointModifier class
- #5337 [examples] Remove bad XML artefact
- #5327 [all] Lifecycle : remove SOFA_HEADER_DISABLED
- #5331 [GitHub] Change targeted Discord room
- #5328 [Engine] Lifecycle : remove RemovedData
- #5326 [Core] Fix warning in LinearSolver.h
- #5309 [all] Lifecycle : remove SOFA_ATTRIBUTE_DISABLED
- #5333 [all] Copy Data description as comments
- #5323 [Nix] Fix Nix CI
- #5322 [Mapping] Fix assertion error in debug
- #5319 [examples] Fix F letter collision in SofaScene
- #5296 [Topology.container] Remove TopologyAlgorithms compatibility headers and some disabled methods
- #5260 [Topology.dynamic] Add new method computeSegmentTriangulationIntersections in TriangleSetGeometryAlgorithm to replace old versions
- #166 GUI passes mouse settings to pick handler
- #165 Introduce mouse manager
- #164 EnterReturnsTrue is not supported by imgui for floats
- 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
- 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
- #5317 [Core] SingleStateAccessor: add explicit instantiations This pr fixes stange compilation errors on MSVC whren inheriting from SingleStateAccessor. In the mean time, the compilation is speed up by adding explicit instantiation. → ready
- #5315 [Lagrangian] Add loading capability for bilateral constraints Add a callback to check value + update the decription → wip
- #5313 [CMake] Remove cmake ignore path install prefix We need the CI feedback (waiting for Windows feedback). Let's wait for it and for Olivier's feedback. → keep to review
- #5309 [all] Remove SOFA_ATTRIBUTE_DISABLED Remove the unused part of the code. → keep to review
- #5297 [Topology.container.dynamic] Add method computeTriangleBarycentricCoordinates and depreciate old versions Use getCPos() instead → keep to review then ready
- #5296 [Topology.container] Remove TopologyAlgorithms compatibility headers and some disabled methods → ready
- #5260 [Topology.dynamic] Add new method computeSegmentTriangulationIntersections in TriangleSetGeometryAlgorithm to replace old versions → ready
-
#5173 [ODESolver] Introduction of generic Newton-Raphson algorithm
Review can now be performed. Three new components are introduced: NewtonRaphsonSolver, which can be used within the
StaticOdeSolver
or theBDFOdeSolver
. The newStaticSolver
will be added subsequently in another PR where firstly all scenes using StaticSolver should crash then the compatibility layer would be added → keep to review - #1618 [plugins] Beam plastic → see technical discussions
- #5293 [Mapping] Add distance to plane mapping
- #5311 [CMake] Fix fetching name for Sofa.METIS
- #5272 [CMake]Modify presets to generalize its use
- #5299 [Lagrangian] Add regularization term in lagrangian constraints
- #5295 [DistanceGrid.CUDA] Fix compilation
- #5306 [all] Set of fixes before lifecycle
- #5294 [CMake] Update auto generated name for fetching
- 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
- 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
- #5299 [Lagrangian] Add regularization term in lagrangian constraints Two methods are proposed : global regularization on the entire matrix W or per object (on constraint correction). → ready
- #5297 [Topology.container.dynamic] Add method computeTriangleBarycentricCoordinates and depreciate old versions Wait for #5245 to avoid merge conflict. → keep to review
- #5296 [Topology.container] Remove TopologyAlgorithms compatibility headers and some disabled methods Wait for #5245 to avoid merge conflict. → keep to review
- #5295 [DistanceGrid.CUDA] Fix compilation Without Qt, the headers are not available. → ready
- #5294 [CMake] Update auto generated name for fetching → ready
- #5293 [Mapping] Add distance to plane mapping The value to compare with is a threshold and not really an epsilon. Be careful of the floating type used : generalize the use of SReal. → keep to review
- #5272 [CMake] Modify presets to generalize its use Keep the QT_ENABLE_QDOCBROWSER + QT_ENABLE_NODEGRAPH option with SoftRobots as long as the Qt GUI is availalbe → minor change then ready
- #171 Remove unavailable/unusable components → ready
-
#170 [Tentative] Uniformize namespace
Should the plugin namespace contains the prefix
sofa::beamadapter
or justbeamadapter
. It makes more sense to have simplybeamadapter
. For now same namespace for every component, maybe add sub-namespace for some components. To be tested. → keep to review - #169 [BeamInterpolation] Generalize parameters per edge Tests are failing + wait for Erik feedback → keep to review
- #2 Remove GUI from target name Wait for test by hugo → keep to review
- #5259 [Geometry] Fix edge-edge intersection method avoiding decimal precision error
- #5303 [GUI.performer] Fix compilation of TopologicalChangeManager due to ambigous name
- #5298 [MechanicalLoad] Small update on SphereFF drawing to follow wireframe
- #5284 [Core] Add 2 new categories (Exporter and OrderingMethod)
- #5280 [Visual] Replace string by SelectableItem in VisualGrid
- #5277 [Helper] Readability in ComponentChange
- #5271 [Core] ObjectFactory: remove message when a plugin has already registered its components
- #5250 [examples] Add new example showcasing how to attach two bodies
- 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
-
#5245 [all] Lifecycle in preparation of v25.06 release
- possibly coming from an issue with vec_id changes
-
#1618 Plastic beams
- old PR from Camille Krewcun
- updated and compiling again
- we could pluginize it
- firstly ask Camille about what he wants / is allowed to do with the PR
- #5293 [Mapping] Add distance to plane mapping Investigation on mappings to compute a plane mapping. Can be used to model contact but not with a Coulomb friction law. Use ::spatial_dimension instead for the plane data and use constexpr CPos to access positional data indepently on the DataTypes. PenalityContactForceField could be investigated in the scene → keep to review
- #5284 [Core] Add 2 new categories (Exporter and OrderingMethod) Mechanism of arbitrary filtering on super class. Else the PR is fine → ready
- #5280 [Visual] Replace string by SelectableItem in VisualGrid → ready
- #5277 [Helper] Readability in ComponentChange → ready
- #5272 [CMake] Modify presets to generalize its use → ready
- #5271 [Core] ObjectFactory: remove message when a plugin has already registered its components Comment the warning and add a comment explaining for posterity → ready
- #5259 [Geometry] Fix edge-edge intersection method avoiding decimal precision error Intersection with edge test failing on Ubuntu → keep to review
- #5250 [examples] Add new example showcasing how to attach two bodies → ready
- #5245 [all] Lifecycle in preparation of v25.06 release → see technical discussions
- #169 [BeamInterpolation] Generalize parameters per edge Tests on CI are failing and Erik did not have time to review → keep to review
- #151 Imgui: Support (macOS) HiDPI font scaling Compatibility with retina/non-retina screens. Tested on MacOS only. Might not be relevant on other OS. → test PR on Ubuntu/Win beforehands → will be merged within the day
- #2 Remove GUI from target name → keep to review
- #22 Minor clean ICPRegistrationFF → keep to review
- #5287 [github] Use token for performance regression launching
- #5282 [ODESolver] Update data comment in EulerImplicit
- #5286 [github] Add workflow for performance testing launch
- #5279 [IO.Mesh] Fix missing
iomanip
header in tests - #5263 [ODESolver] Add option to compute residual at the end of the solving
- #5264 [Helper] Deprecate findOrCreateAValidPath and introduce clearer functions
- #5269 [All] Fix compilation with FLOATING_POINT_TYPE=float
- #5241 [SceneUtility] Remove *AliasComponent
- #484 [doc] Update .readthedocs.yml
- #482 [doc] Towards automatic documentation generation for SofaPython3
- #483 [doc] Update Python version 3.10 -> 3.12
- #481 [doc] Update conf.py
- #154 use ensureFolderForFileExists instead
- #157 Color picker
- #160 Bump version of simpleini
- #159 Fix call to EndChild
- #158 Bump imgui version
- #156 Set dirty outputs when changing a SelectableItem
- #155 Open component window with auto-resize according to its content
- Recruitment Gaetan Desrue (Epione) to work on electrophysiology simulations for 6 months
- Themis just arrived at InfinyTech3D as software engineer on SOFA
-
#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)
- #5272 [CMake] Modify presets to generalize its use → see technical discussions
- #5270 [Nix] Fix Nix CI Not actually fixing it, a CMake error is still there with SofaGLFW → wip
- #5269 [All] Fix compilation with FLOATING_POINT_TYPE=float → ready
- #5264 [Helper] Deprecate findOrCreateAValidPath and introduce clearer functions → ready
- #5263 [ODESolver] Add option to compute residual at the end of the solving → ready
- #5259 [Geometry] Fix edge-edge intersection method avoiding decimal precission error Erik will take a look at it → keep to review
- #5250 [examples] Add new example showcasing how to attach two bodies Why not use LinearVelocityProjectiveConstraint to be able to use its feature 'continueAfterEnd' → keep to review
- #5246 [Tests] Factorize code and add new tests on adding/removing triangles in TriangleSetTopology_test → closed
- #5245 [all] Lifecycle in preparation of v25.06 release Tests are failing (due to some last errors) and the compilation of the plugin SofaCUDA needs to be fixed too → keep to review (quick merge will be needed as soon as it is ready)
- #5238 [Core] Warn when input/output of mapping is deduced automatically Scenes are still failing → wip
- #483 [doc] Update Python version 3.10 -> 3.12 Updating the version of SOFA suggested for each OS. → ready
- #482 [doc] Towards automatic documentation generation for SofaPython3 Actual automation of the doc generation → keep to review
- #481 [doc] Update conf.py Add right link to github repository → ready
- #169 [BeamInterpolation] Generalizes parameters per egde To be properly reviewed (tests are not passing) → keep to review
- #168 Fix compilation with FLOATING_POINT_TYPE=float → ready
- #151 Imgui: Support (macOS) HiDPI font scaling Compatibility with retina/non-retina screens. Tested on MacOS only. Might not be relevant on other OS. → test PR on Ubuntu/Win beforehand
- #3 Add Action (Build & Install) CI which is Ubuntu only. A later PR could add MacOS and Windows using the sofa-setup-action → ready
-
#2 Remove GUI from target name
Make sure that all CMake variable are properly updated
SOFA_GUI_QT_XXX
becomesSOFA_QT_XXX
→ keep to review
-
#22 Minor clean ICPRegistrationFF
Replace the error message by
msg_info()
→ keep to review
- #5276 [SceneChecking] Check if a Node has an empty name
- #5258 [visual] Adds features to LineAxis and DrawTools
- #5176 [GUI] Remove Qt and make SofaImGUI as default viewer
- #5261 [Contact] Clean FrictionContact
- #153 Use external dependencies
- #147 Fix compilation further to lifecycle v25.06
- #149 Set priority to force Imgui as the default GUI
- 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
⚠️ #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)
- too many different definitions
- #5269 [All] Fix compilation with FLOATING_POINT_TYPE=float → wait for CI then ready
- #5264 [Helper] Fix findOrCreateAValidPath when given a file path The .h could be cleaned to have the same declaration/definition → keep to review
-
#5263 [ODESolver] Add option to compute residual at the end of the solving
It seems that the call to
computeForce()
could be avoided for the seek of performance → keep to review - #5261 [Contact] Clean FrictionContact → ready and merged
- #5259 [Geometry] Fix edge-edge intersection method avoiding decimal precision error → ready
- #5258 [visual] Adds features to LineAxis and DrawTools → ready
- #5252 [Pixi][CI] Add pixi support A clear configuration file will be proposed (possibly as Presets, see technical discussions). Once it will be done, this PR could be updated accordingly → wip
- #5250 [examples] Add new example showcasing how to attach two bodies UncoupledConstraintCorrection to be added in the RigidBody → wip
- #5246 [Tests] Factorize code and add new tests on adding/removing triangles in TriangleSetTopology_test The PR #5127 has been merged before this one while the #5127 was based on this PR. The fix of conflict should be done by epernod to avoid errors. Our apologies for the early merge! → keep to review
- #5245 [all] Lifecycle in preparation of v25.06 release Still plugins to be fixed and fix conflicts → keep to review (to have the CI feedback)
- #5241 [SceneUtility] Remove *AliasComponent Scene example using the C++ class should be removed, then check CI → back to wip
- #5238 [Core] Warn when input/output of mapping is deduced automatically → wip
- #5176 [GUI] Remove Qt and make SofaImGUI as default viewer Changes in the PR on Sofa.Qt have to be performed (out of the PR scope) → ready (and merged)
- #5106 [Mapping] Implement tetrahedral-topological changes in SubsetTopologicalMapping Need to be fixed or at least rediscussed with epernod → keep to review
- #168 Update 45_Lifecycle_mechanisms.md Since DeprecatedAndRemoved has no constructor (see code config.h), we need a refactoring to distinguish deprecation/removal of data for users and in the C++ code (symbols) → ready
- #149 Set priotity to force Imgui as the default GUI The priority on Qt GUI should be set to 0 → ready
- #147 Fix compilation further to lifecycle v25.06 The maybe_unsused will be removed, then ready → keep to review
- #5253 [StateContainer] Allow coord difference in vOp for rigids
- #5188 [Topology.Container] Add new method computeSegmentTriangleIntersectionInPlane in TriangleSetGeometryAlgorithm
- #141 Set compilation of plugins by default
- #150 (Again) Update macos image version to macos14 (arm64 by default) #145
- #148 Don't use range
- #143 Feature: Change background (color, texture)
- 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
- 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
- The Animation loop could inspect the mstates :
- #5259 [Geometry] Fix edge-edge intersection method avoiding decimal precission error → keep to review
- #5258 [visual] Adds features to LineAxis and DrawTools Take comment into account. → wip
- #5253 [StateContainer] Allow coord difference in vOp for rigids Issue 5256 has been opened because this difference doesn't exist in Cuda -> need to add the method for it to work in another pr. → ready
- #5252 [Pixi][CI] Add pixi support Need to change configurations to use the ones from the Conda CI to replace this. We will have a meeting on this. → wip
- #5250 [examples] Add new example showcasing how to attach two bodies Simplify scene. Use real dynamics for rigid body. Add a post on github discussion to present it. → wip
- #5246 [Tests] Factorize code and add new tests on adding/removing triangles in TriangleSetTopology_test Need to add an issue regarding comment → ready
- #5245 [all] Lifecycle in preparation of v25.06 release See lifecycle discussion on renamed data. Update maniforld topology → wip
- #5241 [SceneUtility] Remove *AliasComponent → wip
- #5238 [Core] Warn when input/output of mapping is deduced automatically Segfaults appear -> need to investigate → wip
- #5188 [Topology.Container] Add new method computeSegmentTriangleIntersectionInPlane in TriangleSetGeometryAlgorithm → ready
- #5176 [GUI] Remove Qt and make SofaImGUI as default viewer Currently the default GUI is SofaGLFW because it appears before SofaImGUI in order, this should be modified. → keep to review
- #5106 [Mapping] Implement tetrahedral-topological changes in SubsetTopologicalMapping This component is somewhat broken and will require a lot of refactoring to make it work properly -> open issue. Anyway this PR can be merged if it works for him, because in any cases we need to fix this component. → keep to review
- #479 Fix bindings cmake config for missing simpleApi Might be good to automatise the find_package part of the cmake.config.in files regarding dependencies of the lib → ready
- #465 Nix: initial packaging & flake → ready
- #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
- #147 Fix compilation further to lifecycle v25.06 → ready
- #141 Set compilation of plugins by default Might be good in near future to split this repo → wait for 5176
- #5237 [StateContainer] Extend the possible vector operations in vOp
- #5212 [Simulation] Trigger warning when Node already contains component
- #5166 [SofaCUDA] Print CUDA standard at init of the module
- #5249 Bump version of Tracy from v0.9.1 to v0.11.1
- #5239 [Core] Remove some static functions create
- #5233 [StateContainer] Extensive tests of MechanicalObject::vOp
- #5231 [Playback] Remove deprecated macro
- #5230 [CMake] Add possibility to remove auto installing of resource files
- 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
- 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
- #5246 [Tests] Factorize code and add new tests on adding/removing triangles in TriangleSetTopology_test Looks good, not 7 days old → review then ready
- #5241 [SceneUtility] Remove *AliasComponent Make it Removed in ComponentChange → wip
- #5239 [Core] Remove some static functions create → ready
- #5238 [Core] Warn when input/output of mapping is deduced automatically Investigate the change of behavior in the scenes → wip
- #5237 [StateContainer] Extend the possible vector operations in vOp API changes needed for operations mixing Coord and Deriv (ex: \Delta v = x(t+dt)-x(t)). If the operation is now supported by the type, an error messages would be emitted → wait for #5233, then ready
- #5233 [StateContainer] Extensive tests of MechanicalObject::vOp → ready
- #5231 [Playback] Remove deprecated macro → ready
- #5230 [CMake] Add possibility to remove auto installing of ressource files → ready
- #5223 [Core] No longer support links to Node in Links → postponed
- #5222 [tools] generate stubfiles during packaging Add a script that is launched right after CPack copied the install files and before the package is built. At stubfile on Windows with ZIP, the generation fails. Possibly linked to: issues with path and slash, with a library which fails at loading due to failing link. → wip
- #5212 [Simulation] Trigger warning when Node already contains component → wait for CI then ready
- #5195 [All] Refactor create/cancreate in ObjectFactory Take comments into account (add a compatibility layer) → wip
- #5188 [Topology.Container] Add new method computeSegmentTriangleIntersectionInPlane in TriangleSetGeometryAlgorithm CI is failing on the added test → wip
- #5176 [GUI] Remove Qt and make SofaImGUI as default viewer Make sure to add the reference to the new Sofa.Qt repository + make a PR in CI to activate this plugin in PR. → keep to review
- #5166 [SofaCUDA] Print CUDA standard at init of the module → ready
- #480 Update macos builder for arm support → ready
- #461 Proposal for code helper to fix the binding docstring to make code documentation and completion happy → wip
- #166 Update macos builder for arm support → ready
- #164 [WIP/POC] Use new regression Wait for #69 of Regression → wip
- #167 Move static solver from forward to backward Check website to make sure it looks good → ready
- #5183 [examples] Fix warnings of all examples
- #5242 [ODESolver] Remove repeated class name in log messages
- #5234 [SofaMatrix] Put Qt dependent code into an extension
- #5191 [Base] Fix a minor bug related to the printing of info message while parsing & minor upgrade to c++11
- #5240 [plugins] Change remote of ConstraintGeomtery and CollisionAlgorithm
- #5224 [GL] OglSceneFrame: fix background
- #5215 [all] Replace find by contains
- #5169 [Backward] Fix trapezoidal rule in EulerImplicitSolver
- #5211 [All] Remove last deprecated VecId and use constexpr vecids
- #4747 [Topology.Container.Dynamic] Add class TriangleSubdividers to store methods to subdivide a triangle in differents configurations
- #5177 [examples] Add proposition for a new default scene
- #5162 [tests] Template method design pattern from BaseTest in derived classes
- #145 Update macos image version to macos14 (arm64 by default)
- #144 Allow repeating steps while the mouse button is pressed
- SOFA v24.12 is now out, give it a try!
-
Agenda 2025 is available too!
- Next STC#19 will take place in Strasbourg on June 11-13
- We did move from Twitter to Reddit, discover our new Reddit account!
-
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_
- #5234 [SofaMatrix] Put Qt dependent code into an extension Wait for CI → then ready
- #5224 [GL] OglSceneFrame: fix background → ready
-
#5223 [Core] No longer support links to Node in Links
958 scenes are failing! Avoiding impliciting a link to a component, this PR aims at linking components between them but not nodes.
Goal is to force explicit link to the mstate. Warning modifying can create only might not be sufficient for template inference because one of the mastate could be not existing.
Add a new PR just for mappings displaying warnings for Mappings stating the mstate found and that it should be explicitly linked.
→ postponed - #5221 [all] use std::views::keys/values Compilation error on Windows to fix → wip
- #5215 [all] Replace find by contains → ready
- #5212 [Simulation] Trigger error when Node already contains component Fix unit tests → wip
- #5211 [All] Remove last deprecated VecId and use constexpr vecids → ready
- #5195 [All] Refactor create/cancreate in ObjectFactory PR investigating the locations of usage create/cancreate
- #5191 [Base] Fix a minor bug related to the printing of info message while parsing & minor upgrade to c++11 → ready
- #5188 [Topology.Container] Add new method computeSegmentTriangleIntersectionInPlane in TriangleSetGeometryAlgorithm Add unit test → wip
- #5183 [examples] Fix warnings of all examples → ready
- #5177 [examples] Add proposition for a new default scene Simple default scene: LagrangianBeamFall (with a nice rendering). This one is now ready, just add a regression reference → ready
- #5176 [GUI] Remove Qt and make SofaImGUI as default viewer Wait for #5234. Make PR on ci to compile it for each PR and release → then ready
- #5173 [ODESolver] Introduction of generic Newton-Raphson algorithm Struggling in the manipulation of Coord with Deriv types for Rigids → still draft
- #5169 [Backward] Fix trapezoidal rule in EulerImplicitSolver Merge regression first → ready
- #5162 [tests] Template method design pattern from BaseTest in derived classes → ready
- #4747 [Topology.Container.Dynamic] Add class TriangleSubdividers to store methods to subdivide a triangle in differents configurations → ready
- #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
- #144 Allow repeating steps while the mouse button is pressed → ready
- #143 Feature: Change background (color, texture) → ready
- #129 [GUI] Mouse Manager window → This pr introduced mainly GUI elements. The interaction is still broken and doesn't seem to work for every scene. Will need to work on it if we want to have GLFW as new GUI.
- #5218 [Project] Start dev phase v25.06
- #5168 [Helper] XCode: run in Debug (and load debug plugins)
- #5228 [Helper] WriteAccessorVector: add resize method with default filler value
- #5225 [Core] Move all LifeCycle classes in a dedicated namespace
- #5208 [Type] Support structured binding for tuple-like types
- #5200 [Type] Simplification of the Rebind trait using concepts
- #5210 [Type] Deprecate is_container trait
- #5205 [Type] Convert enable_if to concepts in fixed_array
- #5209 [Type] Convert is_fixed_array trait to concept
- #5201 [Type] Convert is_vector trait to concept
- #5199 [Type] A concept for isRigidType
- #5163 [Helper] Fix warning in SelectableItem
- #165 Add reference to RenamedData
- #164 Bump SOFA version v24.12
- #161 Add Nix in the Linux documentation
- Release v24.12 is now out (both source and binary versions)
- Agenda 2025 is available!
- 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.
- #5169 [Backward] Fix trapezoidal rule in EulerImplicitSolver Add documentation, add an example scene of the Trapezoidal rule and add regression on this new scene → wip
- #5168 [Helper] XCode: run in Debug (and load debug plugins) → ready
- #5167 [SofaCUDA] Check that the CUDA standard is the one specified in CMake → close
- #5166 [SofaCUDA] Print CUDA standard at init of the module Remove empty scene → then ready
- #5163 [Helper] Fix warning in SelectableItem → ready
-
#5162 [tests] Template method design pattern from BaseTest in derived classes
Set functions
SetUp
andTearDown
in BaseTest to final.TearDown
unloads the plugins and then, later tests should use the loadPlugin function. → then ready - #5154 [Simulation] In-place creation of mechanical visitors This could be a future implementation but it has complexity. Let's wait for the work on mapping visiors to be done. Then we would possibly reopen it. → postponed
- #5126 [Core] Modern visitor creation New mechanical visitors will be created. For now, we can close it. → close
-
#5096 [runSofa,Helper] Changes screenshots and config directories location
Add tests to check if directories given by
getUserHomeDirectory()
exists and matches the one of the CI and same for the other methods (getSofaDataDirectory
,getConfigDiretoryPath
,getScreenshotDiretoryPath
) → wip
- #5203 [SolidMechanics] Make Data innerRadius of BeamFEMFF not required
- #5204 [Mapping] Fix draw in RigidMapping
- #5197 [tools] Update post-install fixup to fix rpath
- #5206 [Engine] Fix drawLines from ValuesFromPositions
- #5148 [Config] Introduce SOFA modules data structure
- #5198 [DefaultType] Aliases defined twice
- #5149 [Core] Isolate the intrusive reference counting
- #3368 [Topology] Add function in BaseMeshTopology to compute all topology containers
- #476 [examples] Use initRoot instead of init
- #477 [fork] Fix type forward declaration in the bindings
- #478 [SofaStubgen] Remove the generation of the parameter "hack" for first release.
- #453 Add stubgen autogeneration
- 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)
- 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{}
- all namepsaces should be prefixed with the plugin name (e.g.
- 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
)
- Not a real problem because it can be deactivated with CMake
(
-
#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
-
#5177 [runSofa] Change default scene
--> modify this PR to remove the set to default and include the scene in the Demo folder.
-
#5149 [Core] Isolate the intrusive reference counting
To use boost instrusive pointer, an object must have two functions (
intrusive_ptr_add_ref
andintrusive_ptr_release
). An additional level of inheritance has been added to clarifies what isBase
and anIntrusiveObject
→ ready - #5148 [Config] Introduce SOFA modules data structure → ready
- #5106 [Mapping] Implement tetrahedral-topological changes in SubsetTopologicalMapping Take a look at the associated issue and then come back on the PR → keep to review
- #5096 [runSofa,Helper] Changes screenshots and config directories location Reviews merged. The default proposal meets an agreement. The only things to be added would be the possibility to redefine the screenshot folder through the config file and a documentation page should be added about it. This could be done in a separate PR. → keep to review
- #4991 [Collision] ADD optional viscous friction at sliding contact points This PR has to be rebased/merged with the AugmentedLagrangian method. → wip
- #4939 [Mass] Fix rigid uniform mass → wip
- #4935 [Mass] Add unit test to test rotation of inertia matrix for rigid objects → wip
- #4747 [Topology.Container.Dynamic] Add class TriangleSubdividers to store methods to subdivide a triangle in differents configurations Add comment to notify that the methods only works when the number of point is smaller than 1000000 → wip and then ready
-
#3368 [Topology] Add function in BaseMeshTopology to compute all topology containers
The computation of all topological structures is not added by default in the
init()
method from MeshTopology. This could be made as an option by adding boolean Data to activate the computation in init. → wip and then ready
- #476 [examples] Use initRoot instead of init → ready
- #465 Nix: initial packaging & flake Not yet tested, to do asap. → keep to review
- #461 Proposal for code helper to fix the binding docstring to make code documentation and completion happy Wait for Damien's update → keep to reivew
- #457 Fix type forward declaration in the bindings Wait for Damien to solve conflicts + backport → ready
- #453 Add stubgen autogeneration → ready
- #162 Remove deprecated section → ready
-
#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
- The open source SOFA project has been awarded by the Jury's Prize of the French OpenSource Software Committee (COSO)
- Read our article about the SOFA Week 2024 experience!
- v24.12 branch is now created. Don't hesitate to test it!
- SOFA scene Python
- Without controllers: runSofa and Python are the same with all OS
- Linux and windows : no difference performance between runSofa and python3
- On MacOS : controller induces a signficant lag when using runSofa instead of Python3 directly. Having a controller with an handleEvent in python kills the perf: this might be linked to the Trampoline bindings
- Loading of libraries in MacOS might also slow down the process
- Remove CGAL from Ubuntu CI?
- PR on the CGALPlugin enforcing the job pull equals to one (
JOB_POOL_COMPILE
) - Injecting this CMake property only for the CI would be cleaner, using CMAKE_PROJECT_PROJECT-NAME_INCLUDE (later PR)
- PR on the CGALPlugin enforcing the job pull equals to one (
- #5155 [Core, Simulation.Core] Registration: (re)enable deprecation warnings To be backported, this PR should also the fix related to the AugmentedLagrangian (regitration). Wait for CI then ready → ready
- #5154 [Simulation] In-place creation of mechanical visitors Wait for Christian's feedback → wip
- #5133 [Helper] PluginManager: support loading from Non-MSVC Multi-Configuration Build → ready
- #5126 [Core] Modern visitor creation Need to chose between this new mechanism and a refactoring of the existing SOFA visitor proposed here in #5154. This new mechanism is however possibly slightly too simple for some visitor applications (e.g. prune a part of the graph to work on a part of the DoFs). → wip
- #5116 [Engine.Select] Automatically find topology in MeshBoundaryROI Apply same mechanism as what is currently done in SOFA: keep the automatic search. Need to check if pointer is not null. Add warning at the end of Init if no topology is found and not data is set (as in BaseROI). Later remove all implicit search and only use input data and rely on user to input the data correctly. → wip
- #5111 [Config] Upgrade to C++20 → ready
- #5106 [Mapping] Implement tetrahedral-topological changes in SubsetTopologicalMapping PR is pending and an associated issue has been created. Catch up with Paul, Erik will take a look at it → wip
- #5096 [runSofa,Helper] Changes screenshots and config directories location Default folder could be the first one proposed by Eulalie. Config path on MacOS seems undefined (some in App some others in .config). Although the config folder is OS dependent and quite straightforward, we need to be able to modify the screenshot folder -> configuration of this path in the GUI. → wip
- #4750 [Spring] Add fixed weak constraint and examples Too many failing tests to target the milestone v24.12. Take the time to fix them. → wip
- #476 Update actions/cache version to 4.0 → ready
- #465 Nix: initial packaging & flake Test before merge → keep to review
-
#453 Add stubgen autogeneration
Error at linking :
libSofa.Simulation.Graph.so.24.12.99: cannot open shared object file: No such file or directory
or possibly a path issue. We aim at having it for the release → wip
- #137 Selectableitem Actions restarted now that the SOFA PR has been merged → keep to review
- #5124 [Visual] Move, rename and clean OglCylinderModel
- #5152 [All] Fix visualisation
- #5003 [Constraint.Lagrangian] Add augmented lagrangians
- #5159 [examples] Make symplectic option explicit
- #5025 [Constraint.Projective] Make LinearVelocityProjectiveConstraint work with FreeMotionAL
- #5156 [All] Remove spam warnings
- The open source SOFA project has been awarded by the Jury's Prize of the French OpenSource Software Committee (COSO): https://www.sofa-framework.org/about/news/coso-award-2024/
- As 2024 is coming to its end, christmas bells are ringing to remind us that it is the moment to publish the second minor release of the year: the v24.12. In this process the branch v24.12 will soon be created.
→ If you've got some changes you need in this release it is now time to make a PR and milestone it for v24.12
- Dec 11th: next dev meeting, all PR are milestoned and only v24.12 PR will be reviews and merged (by 13th)
- Dec 20th: release objective date
- SOFA-dev mailing list: create a short survey to evaluate its interest
-
#5155 [Core, Simulation.Core] Registration: (re)enable deprecation warnings
- Messages could be addressed to developer only (using
dmsg
based on the CMake flagSOFA_WITH_DEVTOOLS
)
- Messages could be addressed to developer only (using
-
#5152 [All] Fix visualisation
- Test to remove the inheritance of VisualStyle from VisualModel
- VisualParams are a kind of singleton
- This topic is very similar to the gravity
- Need to create an issue detailing the steps for a future refactoring project
- We should make sure that the CMake flag
SOFA_WITH_DEVTOOLS
should be set to FALSE in the Release
- #5156 [All] Remove spam warnings Ready for merge just need a rebase → ready
- #5155 [Core, Simulation.Core] Registration: (re)enable deprecation warnings → see technical discussions
- #5152 [All] Fix visualisation → see technical discussions
- #5124 [Visual] Move, rename and clean OglCylinderModel Take into account the review about the cache and fix conflicts → wip
-
#5025 [Constraint.Projective] Make LinearVelocityProjectiveConstraint work with FreeMotionAL
Tests were added, checks of the flag are not cleaned. Last thing to be done: factorize the check of flags as one function
bool isConstraintActive()
→ then ready - #5003 [Constraint.Lagrangian] Add augmented lagrangians → ready
- #4991 [Collision] ADD optional viscous friction at sliding contact points → Moved to the v25.06 milestone
-
#4750 [Spring] Add fixed weak constraint and examples
Compilation is failing, now a clean inheritance is added. The data
point
defining the indices of the points selected for the springs. It has been renamedindices
which makes this PR breaking. → to review
- #472 [Simulation] Add initRoot binding The fact that the user need to perform this init is somewhat a flaw of the API. We should find a better way to handle the initialization. → ready
- #5097 [GL, GUI] Apply new factory registration mechanism
- #5098 [Simulation.Core] Apply new factory registration mechanism
- #5147 [CollisionOBBCapsule] Fix Capsule destructor
- #5136 [Spring] Add warning when user tries to override MeshSpringForcefield indices
- #5082 [Core] Constexprification of VecId
- #5114 [Helper] Add Accessors for Array types
- #5115 [Mapping.Linear] Cleaning of SubsetMultiMapping
- #5104 [Core] Introduction of strong types
- #5087 [LinearAlgebra] CompressedRowSparseMatrixConstraint: make consistent the serialization/deserialization process
- #5062 [Helper] A static alternative to OptionsGroup: SelectableItem
- #5059 [workflow][Nix] initial packaging & flake
- Last week our annual event, the SOFA Week 2024, gathered more than 70 participants on site in Lille! It was a pleasure to meet the community, listen to the high quality presentations and test the demos during the symposium day. → The quality of this event is down to you, your involvement in the project makes it possible. A big thank you to you all!
- The 18th SOFA Technical Committee took place during the three last days of the week. Stay tuned for the roadmap to the v25.06 release!
- As 2024 is coming to its end, christmas bells are ringing to remind us that it is the moment to publish the second minor release of the year: the v24.12. In this process the branch v24.12 will soon be created.
→ If you've got some changes you need in this release it is now time to make a PR and milestone it for v24.12
- Dec 11th: next dev meeting, all PR are milestoned and only v24.12 PR will be reviews and merged (by 13th)
- Dec 20th: release objective date
- Slicer-SOFA: Boost seems to be an issue. boost is header only in SOFA. It is still used in:
- Topology : dependency to boot for graph structure
- Shared pointers:
intrusive_ptr
some programming work to be done to replace it - Maybe put boost as a
find_or_fetch
-
#5148 [Config] Introduce SOFA modules data structure
- Interesting feature to bring autocompletion and explicit dependency
- Autocompletion for SofaPython3 is similar
- CMake could automatically generate this Modules.h (used both for the SOFA and SofaPython3 uses)
- A test could be added from CMake checking all Sofa.Component.* modules and comparing with the Modules.h
-
#5133 [Helper] PluginManager: support loading from Non-MSVC Multi-Configuration Build
- XCode does like MSVC and create folders in multi-configuration build
- When loading libraries at compilation time, we need to know whether we are in debug or release
- PluginManager encapsulate the knowledge of the config
- Milestoned v25.06 and then could be merged as is
- For later, symbols could even be made
PUBLIC
, we would just need to check other plugins (SofaCUDA, SofaPython3)
- Reactivate warnings for deprecated registration mechanism
- Further to the v24.12 release, SofaGLFW will be made the default GUI
- Activate and auto-fetch it by default
- Remove the Qt dependency and make the old GUI as a plugin
- Merge the SofaGLFW plugin in the SOFA source code
- #5133 [Helper] PluginManager: support loading from Non-MSVC Multi-Configuration Build See technical discussions. Wait for v24.12 branch creation then merge → ready
- #5114 [Helper] Add Accessors for Array types → ready
- #5111 [Config] Upgrade to C++20 Wait for v24.12 branch creation then merge → ready
- #5106 [Mapping] Implement tetrahedral-topological changes in SubsetTopologicalMapping Take time to dig that matter → keep to review
- #5104 [Core] Introduction of strong types → ready
- #5098 [Simulation.Core] Apply new factory registration mechanism wait for Hugo's last review → then ready
- #5097 [GL, GUI] Apply new factory registration mechanism wait for Hugo's last review → then ready
- #5096 [runSofa,Helper] Changes screenshots and config directories location Wait for damien's ffeedback → keep to review
- #5087 [LinearAlgebra] CompressedRowSparseMatrixConstraint: make consistent the serialization/deserialization process → ready
- #5082 [Core] Constexprification of VecId → wait for CI then ready
- #5062 [Helper] A static alternative to OptionsGroup: SelectableItem Merge PR in SofaGLFW first → ready
- #5059 [workflow][Nix] initial packaging & flake Filter the GitHub Action for sofa-framework / branch master / v** → then ready
-
#5025 [Constraint.Projective] Make LinearVelocityProjectiveConstraint work with FreeMotionAL
Changes to take into account + change
finished
name. → keep to review - #5003 [Constraint.Lagrangian] Add augmented lagrangians Changes to take into account → keep to review
- #72 Add references for new exemples → wait for #5025
- Last week to register for the SOFA Week 2024! → Meet the first registered participants and industrial demos!
- SOFA Symposium 2024: final conference program
- SOFA Technical Comitee #18: final program available
-
#5126 [Core] Modern visitor creation
While working on the visitor definition, Alex proposes two alternative methods: the creation of classical SOFA visitors or a new implementation of the original visitor design pattern. It is a known pattern, slightly more verbous but the implementation follows modern C++ format (accept combined with lambda). A second version of these modern visitors is presented (see MechanicalOperations.cpp) with a function e.g.
makeMechanicalVisitor
. This might lead to code duplication. Objective is to improve the visitor readability at first sight. This work is done with the objective to apply visitors on a "mapping-based graph". → draft
-
#5104 [Core] Introduction of strong types
Introduce strong types to explicit the role of some variables. Avoid the use of implicit casts and force the user to know what he/she is using. Use
sreal
then ready → ready - #5102 [Mapping.Linear] Introduce CellAveragingMapping Ongoing work: averaging the volume of surrounding tetra on a node so that it reduces the number of constraints. But for now, it is not yet working. → wip
- #5098 [Simulation.Core] Apply new factory registration mechanism Add registerObjects method to fit the rest of the plugins to be able to register them in another factory → then ready
- #5097 [GL, GUI] Apply new factory registration mechanism → ready
- #5096 [runSofa,Helper] Changes screenshots and config directories location This links with #4926 from @fredroy, wait for Damien's feedback → wip
- #5087 [LinearAlgebra] CompressedRowSparseMatrixConstraint: make consistent the serialization/deserialization process → ready
- #5082 [Core] Constexprification of VecId #5082 Deprecation has been added to the API, few conflicts to solve then ready → keep to review then ready
- #5062 [Helper] A static alternative to OptionsGroup: SelectableItem DataSelectableItem do not get dynamically cast as a SelectableItem. The Widget mechanism relies on this BaseData cast on a templated Data<>. Might be fixed by introducing a DataCast method in the Data class. → wip
- #5059 [workflow][Nix] initial packaging & flake The issue with Wayland has been fixed. To be tested !!!! → keep to review then ready
-
#5025 [Constraint.Projective] Make LinearVelocityProjectiveConstraint work with FreeMotionAL
Add regression and in another PR rename the variable
finished
→ keep to review then ready - #5003 [Constraint.Lagrangian] Add augmented lagrangians → last review then ready
- #468 Python packaging automation → close and rediscuss (Paul and Damien)
- #465 Nix: initial packaging & flake → wait for #5059
- #461 Proposal for code helper to fix the binding docstring to make code documentation and completion happy → wip
- #457 Example on how fix type forward declaration in the binding → wip
- #453 Add stubgen autogeneration Fusion with 468 is needed + translation in python. Make it modularizable to specify the modules names → wip
- #5129 [all] Minor esthetic changes
- #5109 [Constraint] Clean BilateralLagrangianConstraint
- #5103 [Config] Minor cleaning of config.h
- #5079 [Test] Refactor Mapping_test
- #5122 [example] Update scene to display colors representing triangle areas
- #5121 [Type] Consistent string to color conversion
- #5120 [GL.Component] Fix min max computation in DataDisplay
- #5119 [test] Add test on Data link between 1d vectors
- #5081 [Core] Fix isSet flag when setting a link to a not-yet created data
- #5118 [Gl.Component] Swap data description in OglColorMap
- #5075 [Core] Test for nullptr in force field creation
- #5056 [all] Compatibility with C++20
- #5042 [All] Clean collision detection in FreeMotionAnimationLoop
- #160 Fix parameter inputs in NeoHookean
- #158 Add section on mappings nomenclature
- #159 Line break to fix markdown rendering
- Registrations for the SOFA Week 2024 are open. It's now time for all developers to register: https://www.sofa-framework.org/sofa-events/sofa-week-2024/registration/ → Meet the first registered participants and industrial demos!
- Student project: presented on Dec 5th
- SOFA Symposium 2024: final conference program
-
#5081 [Core] Fix isSet flag when setting a link to a not-yet created data
Suggestion to add a test with a wrong link. Creation of the object with a wrong link does not send an error/warning. Link can therefore be set bu invalid if the parent is invalid.
Ideas:
- add an additional checker when data isLinked and getParent is null
- Remove lazy link (might be braking for XML) and use strong link
- New PR #57 including the Cosserat plugin in the CI. Let's make a PR including it in SOFA, thus allowing to fix errors and problems in the PR before updating the CI config.
- Find solution for RAM shortage on Ubuntu compilation (due to CGAL plugin compilation)
- Use more swap
- Use zram
- Skip the file
- Use more efficient linker
- #5082 [Core] Constexprification of VecId Each time we were accessing a state vector, a new instance of the VecId class was created. This is not the case anymore with this PR. A compatibility layer could be added with a namespace (named with the class name VecCoordId/VecDerivId) including free functions. → wip
- #5081 [Core] Fix isSet flag when setting a link to a not-yet created data See technical discussions → ready
- #5079 [Test] Refactor Mapping_test Make class easier to read. → keep to review
- #5075 [Core] Test for nullptr in force field creation → ready
-
#5062 [Helper] A static alternative to OptionsGroup: SelectableItem
Still an issue : difficult to have an imgui widget for each new option group. Might be fixed by modifying the behavior of
Data::getValueTypeString
. Wait for fix in GLFW and possibly add a ci-depends on → keep to review - #5059 [workflow][Nix] initial packaging & flake Test it more and try to fix the ubuntu runtime → keet to review
- #5056 [Config] Upgrade to C++20 Make the current code compatible with C++20 and update the compile flag. Separate in two PR so that the compile flag is modified separately. → ready
- #5042 [All] Clean collision detection in FreeMotionAnimationLoop → ready
- #3928 [Mass] Replace doUpdateInternal by callback: MeshMatrixMass Share a scene with access to the mass matrix, highlighting the issue. → wip
- #461 Proposal for code helper to fix the binding docstring to make code documentation and completion happy Hard to read the diff since it includes the commits from #457. The changes allow to improve the doc string in stubgen. → wip (wait for #457)
- #457 Example on how fix type forward declaration in the binding To be able to deploy it we will need to have an extensive documentation on why and how to do this. → wip
- #453 Add stubgen autogeneration Take comment into account → wip
- #449 Updated version of documentation Since the entire PR is fine and the GitHub action should be assessed, we would suggest to remove the action from the PR and merge. It would allow to test the action separately. → wip
- #5107 [GitHub] Remove dev meeting action
- #5094 [Mapping.Linear] Test IdentityMapping
- [#5077 [Mapping.NonLinear] Add tests for DistanceMultiMapping](https://github.com/sofa-framework/sofa/pull/5077
- Registrations for the SOFA Week 2024 are open. It's now time for all developers to register: https://www.sofa-framework.org/sofa-events/sofa-week-2024/registration/ → Meet the first registered participants and industrial demos!
- Feedback from the "Reseaux Thématiques" Inria: summary to be done later this week
- Intership topics to come
- Update from STC with consortium members
- Cosserat plugin will be added in the CI
- InvertibleFVM, SensableEmulation, SofaSimpleGui plugins will be archived
- Information further to the development of the RigidBodyDynamics plugin
- URDF models can be loaded in SOFA
- Built-in Pinocchio feature: geometry, Jacobian (and transpose)
- Example being developed with an haptic hand grasping a sponge
- To be done: autocollision, parse SRDF format, CI integration
- Nix integration #5059
- Migration of the Conda recipe using
rattler-build
- Tool to generate conda packages from conda recipe
- Faster to generate, less verbosity (avoid overlinking/overdepending)
- Improved feature (experimental): multi-output. Looking forward to it!
-
#5087 [LinearAlgebra] CompressedRowSparseMatrixConstraint: make consistent the serialization/deserialization process
- Infinite loop due to inconsistent format
- Serialization can be used to save and to visualize in GUI
- We could implement a new "pretty" print function, used in Widget or in Python
- #461 Proposal for code helper to fix the binding docstring to make code documentation and completion happy Same → keep to review
- #457 Example on how fix type forward declaration in the binding PR looks clean 👍 but I would need some insight (the link with #456) → keep to review
- #453 Add stubgen autogeneration Why not using python script instead of bash. It might also need #456 and #461 Let's rediscuss it. → keep to review
- #449 Updated version of documentation Deep review to be done → keep to review
- #5085 [CUDA] Update CudaHexahedronTLEDForceField.cpp
- #5037 [LinearAlgebra] Add CompressedRowSparseMatrixConstraint tests
- #5070 [Mapping] Deprecate module Sofa.Component.Mapping.MappedMatrix
- Registrations for the SOFA Week 2024 are open. It's now time for all developers to register: https://www.sofa-framework.org/sofa-events/sofa-week-2024/registration/ → Meet the first registered participants and industrial demos!
- Review of the progress regarding each roadmap topic
- Review of the maintained plugins (e.g. DiffusionSolver)
- #5034 [ODESolver] Rename files to match class name → ready
- #5027 [SolidMechanics] Apply new factory registration mechanism Review class names and take first review into account → keep to reviewOFA_OPENMP CMake
- #5025 [Constraint.Projective] Make LinearVelocityProjectiveConstraint work with FreeMotionAL Add an example scene the ready → wip
- #5017 [all] Various changes relative to the constraint matrix Wait to validate that scene errors are due to the VM and not the PR → then ready
- #5012 [Topology] Apply new factory registration mechanism → ready
- #5011 [LinearSolver] Apply new factory registration mechanism → ready
- #5010 [Engine] Apply new factory registration mechanism → ready
- #5003 [Constraint.Lagrangian] Add augmented lagrangians Just review by next week → keep to review
- #4991 [Collision] ADD optional viscous friction at sliding contact points PR on ModelOrderReduction to test the compilation + tests. Then, check with Alexandre the interest of using a single constraint for both the friction and the viscosity forces. And possibly, merge with #5003. Anyway, we should merge #5003 first. → keep to review
- #4878 [SofaCUDA,SofaDistanceGrid] Move DistanceGrid CUDA files in a SofaDistanceGrid extension Possibly check the post-install fixup (common.sh). Then, restart the tests to check then ready. → keep to review
- #3928 [Mass] Replace doUpdateInternal by callback: MeshMatrixMass Now the PR is passing (only the scene test on EulerExplicit is failing but it is unstable independently from the PR). The review should only focus on MeshMatrixMass.h and MeshMatrixMass.inl Export the mass matrices before and after the PR. → keep to review
- #459 Access to the constraint matrix → see -> 5017
- #457 Example on how fix type forward declaration in the binding Stubgen generation was not working sometimes due to undefined symbol (e.g. when stubgen uses Sofa.Core.Node before having created the Python class binding Sofa.Core.Node). To avoid this, we enforce forward declaration so that stubgen visits objects in a well-defined order (following C++ logic). We will have to follow the same process when stubgen fails. Add comment on why we do this forward then ready. → rebase then ready
- #456 Remove Sofa.Components Modify tests to make the CI pass → wip
- #453 Add stubgen autogeneration Towards autocompletion in python! → wip
- #449 Updated version of documentation Wait for rebase (to make the CI pass) and review the added documentation → wip
- #157 Fix sentence and equations in constraints Nice fix → ready
- #155 Introduce VolumeMapping doc Reviews taken into account → ready
- #5036 [examples] Update example scene of RungeKutta to make it stable
- #5006 [Mapping.NonLinear] A base class for (almost) all non linear mappings
- #4985 [Core] Move DevBaseMonitor in SofaValidation
- #5016 [LinearAlgebra] Rename class MatrixSubstraction to MatrixSubtraction
- #5015 [DefaultType] Fix RigidDeriv name
- #5002 [FrameSpringForceField] Fix invalid data field's name
- Registrations for the SOFA Week 2024 are open. Meet the first registered participants and industrial demos!
- New paper from NTNU with SOFA Haptic Rendering of Arthroscopic Meniscus Examination in SOFA
- Meeting about differentiable simulation coming soon
- Update BGFX
- Done : CMake, integration within SOFA
- no repository yet but branches in GLFW and a BGFX plugin
- remaining work: implementation of the DrawTools
- PhD defense of Tanguy Naver on October 4th at 2pm
- List hot topics to prepare SOFA Technical Committee
- We could remove the folder: examples/Tutorials/OldTutorials/ using old files, formats etc.
- Prototype of a static ObjectFactory: this would reqiure an ObjectFactory per SOFA module
- #5016 [LinearAlgebra] Rename class MatrixSubstraction to MatrixSubtraction Does not compile yet, then probably fast merge → wip
- #5015 [DefaultType] Fix RigidDeriv name → ready
- #5012 [Topology] Apply new factory registration mechanism #5011 [LinearSolver] Apply new factory registration mechanism #5010 [Engine] Apply new factory registration mechanism All these PR use the new factory. It removes the aliases, missing licenses, fixing associated scenes (also in plugins). → ALL PR to review
-
#5006 [Mapping.NonLinear] A base class for (almost) all non linear mappings
Private variables could be renamed with
K
would becomem_geometricStiffnessMatrix
→ wip - #5003 [Constraint.Lagrangian] Add augmented lagrangians Seems to be ready for review, we should take some time. CI somplains on MacOS about linking, check restarting the compilation → keep to review
- #5002 [FrameSpringForceField] Fix invalid data field's name → ready
- #4991 [Collision] ADD optional viscous friction at sliding contact points MOR need to be fixed (we will take care of it) and take reviews into account regarding the object registration. Later, the contact API should be refactored → wip
- #4985 [Core] Deprecate the class DevBaseMonitor Ongoing work → keep to review
- #4945 [FEM] Add method computeVonMisesStress in TetrahedralCorotationalForceField and option to draw them Take suggestions into account then ready → wip
- #4943 [Core] Clean pu blic API of components Create an associated issue listing all steps → postponed
- #4878 [SofaCUDA,SofaDistanceGrid] Move DistanceGrid CUDA files in a SofaDistanceGrid extension Rebase after having merge #4990 and change back CudaDistanceGrid to OFF and do a PR in CI repository. → keep to review
- #3928 [Mass] Replace doUpdateInternal by callback: MeshMatrixMass PR is ready for review after a long time. Just a scene is failing (regression) but it is completely instable. Investigate why. → keep to review
- #458 Fix missing plugins → ready
- #132 MacOS: dont change workding directory when glfwinit() MacOS, glfwInit change the current working directory. Giving this hint avoids doing the change → ready
- #69 New regression in python Export done in json which is not that satisfactory for Erik, why not using csv. Change format, regenerate all references and test the CI with these new references. Hopefully before STC#18 → wip
- #4983 [MechanicalLoad] Apply new factory registration mechanism
- #4976 [IO] Apply new factory registration mechanism
- #4977 [Controller, Haptics, Diffusion] Apply new factory registration mechanism
- #4981 [LinearSystem] Apply new factory registration mechanism
- #4996 [Mapping.Linear] Use links instead of raw pointers
- #4982 [FEM] Components override the template API instead of the generic one
- #4995 [all] Use isComponentStateValid
- #455 Fix missing name in ClassEntry Binding_ObjectFactory.cpp
- #454 Fix missing plugin and deprecation
- Registrations for the SOFA Week 2024 are open: make sure to save the date and join us next November in Lille!
- List hot topics to prepare SOFA Technical Committee
- Presentation of the Slicer-SOFA extension by Rafael Palomar -> github project
No PR review has been done due to external presentation.
- #4999 [LinearSolver.Direct] Fix packaging
- #4975 [ODESolver] Apply new factory registration mechanism
- #4906 [Mapping.NonLinear] Introduce VolumeMapping
- #452 Update init.py
- #448 CI upload artifact version update
- #451 Update init.py
- #424 Add two testing features
- The IRE project will save 36 months of engineering dedicated on SOFA: differentiability of SOFA will be investigated (collision)
- Jury for the SOFA Awards 2024 is being defined!
- Registrations for the SOFA Week 2024 are open: make sure to save the date and join us next November in Lille!
- Implementation of A Surface-to-Surface Finite Element Algorithm for Large Deformation Frictional Contact --> interesting results but might be more useful in a Newton Raphson algorithm. Interesting to integrate it to SOFA : Open a PR to include this and try to implement the variable epsilon per element.
- Reimplementation of regression tests in python in PR #69 : need feedback and ideas on metrics
- comparison of each dofs at the specified end time
- infinity norm
- mean value
- over several time steps
- compute the 75% of the infinity norm to allow some tolerance
- comparison of each dofs at the specified end time
- Deprecation of HexahedralFEMForceFieldAndMass
- #4982 [FEM] Components override the template API instead of the generic one Missing some changes: it should include Masses from #4982. → wip
- #4945 [FEM] Add method computeVonMisesStress in TetrahedralCorotationalForceField and option to draw them Conflicts and take reviews → wip
-
#4943 [Core] Clean public API of components
A first PR #4982 has been open to introduce the two first points. Comment has been made on adding a prefix on delegates
doFunctionName()
. A PR with compat layer should be done to add this to the Core. Maybe wait the next release cycle to give enought delay for those changes --> add v25.06 milestone for this breaking PR → keep to review - #4906 [Mapping.NonLinear] Introduce VolumeMapping Wait for maths → keep to review
- #4878 [SofaCUDA,SofaDistanceGrid] Move DistanceGrid CUDA files in a SofaDistanceGrid extension Compilation issue on Windows. Modernize the CUDA Cmake before this PR. This plugin adds C source file, making it harder than other reordering done before. Problem arise from the fact that CMake passes compile option to NVCC that the compiler doesn't understand. → wip
- #446 Bump actions/download-artifact from 2 to 4.1.7 in /.github/workflows TODO : apply patch by Alex → keep to review
- #424 Add two testing features Rebase ongoing → ready
- #4980 [FEM.Elastic] missing override keyword
- #4944 [Engine] Add draw method in NearestPointROI
- #4852 [FEM.Elastic] Some FEM inherits from BaseLinearElasticityFEMForceField
- #4933 [Playback] Apply new factory registration mechanism
- #4971 [all] Cleanings on debug symbols
- #4967 [GUI] Minor cleaning in GUIManager
- #4957 [All] Add scoped timers for tracy profiler
- #4958 [Engine.Select] Clean, extend and test MeshSubsetEngine
- #4932 [SceneUtility] Apply new factory registration mechanism
- #4928 [Sofa.GUI, Plugins] Pluginize HeadlessRecorder
- New SOFA documentation released: https://sofa-framework.github.io/doc/
- Registrations for the SOFA Week 2024 are open: make sure to save the date and join us next November in Lille!
- 🆕 SOFA Unity asset has been published on the Unity Asset store ! This amazing work has been released by InfinyTech3D, check it out
- Merge the GitHub security advisory PR on all repositories: "Bump actions/download-artifact from 2 to 4.1.7 in /.github/workflows dependencies"
-
#4943 [Core] Clean public API of components: proposal to define base class functions as final and override these functions, templated in child classes, as a protected function -> this is breaking. Tests compilation would fail because of change of accessor. We should then change the tests to use the public virtual class (access protected functions). What does this PR is:
- set the function of the abstract class to final
- fix the components which were overriding this function
- set the functions overriding the templated one as protected
- TODO: fix/update the associated tests
- add the check on the component state:
- first check non-invalidity
- then, check the validity
Conclusion : keep two first points on the PR then open new PR to test the point 5. Open draft PR with points 3&4 to get feedback from @sofa-reviewers
- #4939 [Mass] Fix rigid uniform mass: issue with rigid mass matrices when the inertia matrix is not an homothety. This PR fixes this with tests but it seems that centrifugal forces are not properly computed.
- Issue 4954 : Mass for hexahedra and quads is wrong. Distribution of the mass is wrongly computed on the element. Take a look at Caribou and what other soft does and try to compute mass matrix chape regarding the hexa shape funciton.
- Make sure that each PR belongs to a roadmap objective (Project)
- #4967 [GUI] Minor cleaning in GUIManager → ready
- #4958 [Engine.Select] Clean, extend and test MeshSubsetEngine → ready
- #4957 [All] Add scoped timers for tracy profiler Change name MBKBuild to be more explicit and fit also for unbuilt scenarios. Then ready → ready
- #4945 [FEM] Add method computeVonMisesStress in TetrahedralCorotationalForceField and option to draw them Need to factorise TetrahedonFEMForceField and TetrahedralCorotationalForceField at some point to remove this copy-paste. Take suggestions into account then ready → keep to review
- #4944 [Engine] Add draw method in NearestPointROI Take suggestions into account then ready → keep to review
- #4943 [Core] Clean public API of components → see technical note
- #4939 [Mass] Fix rigid uniform mass Changeis_same with is_rigid and check dimension instead → keep to review
- #4935 [Mass] Add unit test to test rotation of inertia matrix for rigid objects → Check meaningfulness of tests
- #4933 [Playback] Apply new factory registration mechanism → ready
- #4932 [SceneUtility] Apply new factory registration mechanism → ready
- #4928 [Sofa.GUI, Plugins] Pluginize HeadlessRecorder → ready
- #4898 [Mapping.NonLinear] Introduce AreaMapping → ready
- #424 Add two testing features. Example has been added. → ready
- #154 doc for AreaMapping Minor suggestions → ready
- #153 Describe src attribute Minor suggestions → ready
- #69 New regression in python Regression application has been reimplemented in python. Some question resides, like which norm to use to compute errors. Discuss it in the technical discussion of the next SOFA-dev meeting. → keep to review
- #68 Add option to set period (nb of steps) → ready
- #5 [doc] Update readme Remove modifications to ci.yml then ready → keep to review
- #4 [ci] Add regression tests → ready
- #4931 [Setting] Apply new factory registration mechanism
- #4930 [Visual] Apply new factory registration mechanism
- #4946 [Spring] Enable spring by default if Data enabled is not set
- #4947 [GUI.Common] ArgumentParser: catch exceptions when same options are added
- #4927 [All] Apply renamed data on codebase
- #4925 [runSofa] Removed obsolete options
- #4916 [Collision.Detection.Intersection] Delete compat layer for intersection
- #445 [Sofa.Gui] Add dependant option to not bind qt/qglviewer to Sofa.Gui (even if present)
- #432 [Bindings] Remove static SofaInitializer, call unload into each respective module and clear cache
- #409 Add way to deactivate gui bindings
- New SOFA documentation released: https://sofa-framework.github.io/doc/
- Registrations for the SOFA Week 2024 are open: make sure to save the date and join us next November in Lille!
- 🆕 SOFA Unity asset has been published on the Unity Asset store ! This amazing work has been released by InfinyTech3D, check it out
- Issue with rigids dynamic : PR #4935 and Issue 4936. A try into fixing it --> PR #4939 → Unit test not testing centrifugal forces that are still wrongly computed. Need to add this unit test and make it pass. Take a look at other rigid simulation framework for meaningfull unit tests.
- PR #4878, moves cuda implementation of SofaDistanceGrid inside the SofaDistanceGrid plugin. → Two problem arised : a cmake configuration on the CI and NVCC compilation error locally. Alex will fix the cmake error and we will need to investigate the compilaiton error.
-
#4927 [All] Apply renamed data on codebase
This compat layer only works for
Data<T>
every types that inherits from it, will only see the originalData<T>
methods. This lead to adopting the old mechanism forDataFilename
and only allowing to use the data methods for every topological datas. → ready - #4925 [runSofa] Removed obsolete options → ready
- #4918 [Mass,MechanicalLoad] Use enumeration to clarify the code Unit tests are still failing even after the merge of #4917 → wip
- #4916 [Collision.Detection.Intersection] Delete compat layer for intersection → ready
- #4906 [Mapping.NonLinear] Introduce VolumeMapping Same python script descibing the math is on its way. It is needed to review the PR. Maths are way simplier so it will be quick to check. The comments on #4898 can also be applie don this one. → wip
- #4898 [Mapping.NonLinear] Introduce AreaMapping Prefix missing on attribute name is intentionnal du to a planned refactoring of all the mappings, using the same old name will ease the refactoring. An error and not a warning should be thrown when usign quads. Quads will be supported in the future, some questions arised on the validity of the strategy of dividing the quad into triangles and applying the same method. Quesiton on the support of heterogeneous mesh (including triangles and quad). It is difficult to differentiate between the two types in the code so it should not be authorized. Add comments. → then ready
- #4876 [Core] Allow different gravity vectors in Nodes The mechanism of 4876 is prefered because of possibility of moving a node around. The mechanism need to be modified silghtly to ensure that we continue to inherit from the parent when we did once, because isSet will be set to true after the first pass inside the if statement. The unit test added in #4910 should be added here, and the isSet mechanism in the SimpleAPI should be corrected.
- #3927 [Mass] Replace doUpdateInternal by callback: UniformMass Unit tests are still failing → wip
- #445 [Sofa.Gui] Add dependant option to not bind qt/qglviewer to Sofa.Gui (even if present) This pr aims at allowing to deactivate parts of the bindings (e.g. Qt based gui) when not wanted. It keeps the old behavior to not disturb the users. A better solution would be to divide the binding into specified modules for every GUI. → ready
- #432 [Bindings] Remove static SofaInitializer, call unload into each respective module and clear cache Fix meany issues regarding SofaPython3 using cleaning strategies recommanded by pybind11. 1. Cleanups, 2. Clearing the cache, 3. Testing (loading of SofaPython3 by the plugin manager). → ready
- #424 Add two testing features. add an example → then ready
- #409 Add way to deactivate gui bindings → ready
- #69 New regression in python Think about the right metrics to use to evaluate the regression : infinit norm, norm 2, normalize error by the bbox size... → keep to review
- #68 Add option to set period (nb of steps) Test it with a ci-depends-on → keep to review
- #4840 [GUI.Qt] Add find or fetch for qgl viewer
- #4897 [Test] Add generic test on buildGeometricStiffnessMatrix for mappings
- #4848 [ODESOlver] Fix RHS computation of the backward Euler implicit solver
- #4828 [Helper] Added cleanup callback
- New SOFA documentation released: https://sofa-framework.github.io/doc/
- Registrations for the SOFA Week 2024 are open: make sure to save the date and join us next November in Lille!
- 🆕 SOFA Unity asset has been published on the Unity Asset store ! This amazing work has been released by InfinyTech3D, check it out
- SofaPython3 cleanup (#4828, #432, #425), what are the next steps ? No better solution arised for RAII mechanism. So the one proposed will be the one merged. Fuse the two SofaPython3's PRs, merge SOFA's PR then merge SofaPython ones.
- A refactoring of the Regression plugin passing everything in python scripts was proposed in PR #69. Feedbacks are needed !
- Status
to review
might have two meanings : 1) we want a point of view but we don't think it is ready and 2) we think it is ready and we want to merge it. Might be useful to add a status :merge candidate
that is the only one that can be transformed toready
. So for a PR to be merged it will need to first haveto review
andmerge candidate
in the same time and to then be accepted and transformed toready
.
-
#4926 [runSofa] Centralize configuration into the user local directory
Might be better to have a mechanism where, if local config exists then we use it, otherwise we use the "global" one in the config directory of the user. But this PR in its state is not what we want.
→ close - #4925 [runSofa] Removed obsolete options Some parameters might be used somewhere else (See RealGUI). Must check that all parameters are really unused. → wip
- #4921 [all] Spread API isComponentValid Keep comments into account → wip
- #4918 [Mass,MechanicalLoad] Use enumeration to clarify the code Clean class declaration. Wait for previous PR then ready. → keep to review
- #4916 [Collision.Detection.Intersection] Delete compat layer for intersection Add PR number to the comment then ready → ready
- #4910 [Core,Simulation] Inherit and link gravity from parent context if not set The idea is good but some situation might break this mechanism (is the node changes the parent context, the link will not be changed for instance). This is due to the link that is added. The question is more if this mechanism is ok for us ? Or if we want to be able to modify this link when the node is moved. Maybe remove this link ? Wait for #4911 to be fixed and verify that is solves the test. → wip
- #4906 [Mapping.NonLinear] Introduce VolumeMapping Integrate comments (comments #4898 one can also be applied on this one). Missing the 'math' file --> the review is therfore harder. Does this file exist ? → wip
- #4898 [Mapping.NonLinear] Introduce AreaMapping Integrate comments. Maybe add the python script to the sofa documentation. → wip
- #4852 [FEM.Elastic] Some FEM inherits from BaseLinearElasticityFEMForceField Fix compile → wip
- #4848 [ODESOlver] Fix RHS computation of the backward Euler implicit solver → ready
- #4828 [Helper] Added cleanup callback See technical discussion. Remove CI depends on that was there to test the effect but is not mendatory for it to compile and work. → ready
- #3928 [Mass] Replace doUpdateInternal by callback: MeshMatrixMass Fix tests. → wip
- #3927 [Mass] Replace doUpdateInternal by callback: UniformMass Wait for test. Make sure the mass changing is tested somewhere then ready. → keept to review
- #432 [Bindings] Remove static SofaInitializer and call unload into each respective module Wait for fusion with 425 → then ready
- #425 Add cleanup to core and ensure that the cleanup happens in runSofa fuse with 432 then close → close
- #424 Add two testing features. → wip
-
#68 Add option to set period (nb of steps)
Test it on a SOFA pr with a
ci-depends-on
to make sure ot doesn't break the regression tests → keep to review - #67 Update regression further to #4848 → ready
- #4922 [examples] Change rendering option in the TetrahedronFEMForceField.scn
- #4917 [Core] Fix check and use of componentState in SingleStateAccessor
- #4919 [Playback] Fix WriteStateCreator to pass period only if it has a value. Because WriteState use isSet value...
- #4891 [Mapping.NonLinear] Fix rigid types in SquareDistanceMapping
- #4875 [Helper] Retrieve the current user local configuration directory
- New SOFA documentation released: https://sofa-framework.github.io/doc/
- Registrations for the SOFA Week 2024 are open: make sure to save the date and join us next November in Lille!
- 🆕 SOFA Unity asset has been published on the Unity Asset store ! This amazing work has been released by InfinyTech3D, check it out
- Test failing in #4901 before merge: we often have doubts on the reports from the CI. The migration from Jenkins to GitHub Actions will be very beneficial on this aspect.
- Qt Wayland on the doc, Aimen's PR should provide information in Linux cases: X11 being the old display protocol, it happens that recent Linux distributions rely on a new protocol/server named Wayland.
- Share the command to check which protocol is used on your distribution
echo $XDG_SESSION_TYPE
- Share the command to install it if Wayland is used
- Share the command to check which protocol is used on your distribution
- An issue has been created about the SimpleAPI which does not define data isSet. This may affect also SofaPython3. This isSet feature is important and the issue should therefore be fixed soon
- #4920 [MechanicalLoad] Factorize damping forcefields Factorize the PR. We need to choose which can of input we want. Then fix the tests and spread new name in scenes. → wip
- #4917 [Core] Fix check and use of componentState in SingleStateAccessor Make it independent from [#3928] and add a test → wip
- #4897 [Test] Add generic test on buildGeometricStiffnessMatrix for mappings SquareDistanceMapping test fails with the introduced test → wip
- #4891 [Mapping.NonLinear] Fix rigid types in SquareDistanceMapping → ready
- #4876 [Core] Allow different gravity vectors in Nodes If #4911 is solved, then #4910 could replace this PR. → keep to review + postponed
- #4875 [Helper] Retrieve the current user local configuration directory Test fixed (very CI specific) → ready
- #4852 [FEM.Elastic] Some FEM inherits from BaseLinearElasticityFEMForceField Conflict solved during the meeting. → Wait for CI then ready
-
#4848 [ODESOlver] Fix RHS computation of the backward Euler implicit solver
The
auto
introduced in comment does not work. Commit to revert then ready → ready - #3928 [Mass] Replace doUpdateInternal by callback: MeshMatrixMass A lot of faling tests → wip
- #3927 [Mass] Replace doUpdateInternal by callback: UniformMass Fix the tests and force-full-build → wip
- #3912 [Mass] Deprecate and make DiagonalMass inherit from MeshMatrixMass Revert the DiagonalMass.cpp to be able to instantiate it. Changing all scenes has not been done yet to keep the PR readable. → wip
-
#441 Display attribute_error with msg_error
attribute_error was considered as a deprecation warning by the pybind API. Now we differentiate
AttributeError
fromDeprecationError
→ ready
- #68 Add option to set period (nb of steps) Need more insight since it affects Regression → keep to review
- #67 Update regression further to #4848 → wait for #4848
- #62 Fix warnings → ready
- #46 Generate an error instead of warning when a reference is missing enhancement → ready
- #4909 [all] Fix various summer warnings
- #4901 [image] convert unsigned char to int when streaming
- #4649 [Spring] Merging StiffSpringForceField and its parent
- #4908 [Core] ObjectFactory: fix typo when an object is not found
- #4882 [all] Rename lifecycle names for HEADER
- #4902 [Core] Revert thread local changes on exec params
- #4904 [Core] pointer checking
- #4900 [Core] Replace non-utf8 chars by special char with error message
- #4899 [SolidMechanics.FEM.Elastic] Fix compilation on clang{12, 13}
- #4903 [Type] Fix wrong use of std::empty
- #4886 [CMake] Update all cmake_minimum_required in plugins
- #4893 [VolumetricRendering] Fix target name in OglTetrahedralModel
- #4888 [Visual] Camera: do not export/import lookat info
- #4887 [Topology.Dynamic] GeometryAlgoritims: disable lighting when drawing topologies
- #4858 [AnimationLoop] Apply new factory registration mechanism
- #439 add binding to unload a plugin
- #440 Update PythonEnvironment regarding GIL deprecation
- #438 Fix wrong doc string for dump_json
- #151 Final cleaning for the doc
- #150 Fix Latex equations to fit MathJax format
- #149 Try MathJax
- #148 Latex: add Katex to mkdocs
- #147 Suggestion to make light mode simpler
- #146 Fix merge of folders with similar names
- #145 A few more cleanings
- #144 Add contributing file
- #143 Attempt to fix relative url
- #138 Introduce Python script to generate automatically the doc
- #136 Massive cleaning of the documentation in prevision of the new documentation
- #141 Update 45_Lifecycle_mechanisms.md
- #130 [Imgui] Fix Display Flags
- #128 Fix not existing folder
- #126 Logs: Add option for autoscroll
- #127 Logs: Always show options
- #123 Implement Mouse Interaction Handling
- Registrations for the SOFA Week 2024 are open: make sure to save the date and join us next November in Lille!
- 🆕 SOFA Unity asset has been published on the Unity Asset store ! This amazing work has been released by InfinyTech3D, go [check it out here
- ℹ️ email redirection @sofa-framework.org are broken due to Inria's subcontractor. Our apologies
- V&V40 for SOFA
- Shell plugin should be
- Fetchable by default
- Activate by default
- Tested on CI
- Build-in in the release
- #4876 [Core] Allow different gravity vectors in Nodes Regression appeared in QuadBendingFEMForceField example scene. Should use the main gravity since it was the default behavior so far. Last test : 2 different gravities and modify the root node one. → ready
- #4875 [Helper] Retrieve the current user local configuration directory Test failing → wip
- #4868 [SofaCUDA] Add constructor based on initializer_list → ready
- #4858 [AnimationLoop] Apply new factory registration mechanism Good example on how to apply the new ObjectFactory API. For more see the wiki : New explicit registration method of component in the ObjectFactory → ready
- #4852 [FEM.Elastic] Some FEM inherits from BaseLinearElasticityFEMForceField Wait for #4868 and solve conflicts → keep to review
- #4848 [ODESOlver] Fix RHS computation of the backward Euler implicit solver Add associated test → wip
- #4840 [GUI.Qt] Add find or fetch for qgl viewer Reviews to take into account (backport todo) and conflict to solve → wip
- #4839 [Component.Engine.Select] Refactoring of ROI classes Reviews taken into account. Create function : check type when taking position data field as input (get inspiration on mappings) → ready
- #437 [SofaRuntime] Check if numpy and/or scipy (optional) are available Ideally we would need to enforce numpy but this PR makes a simple and clean check → ready
- #432 [Bindings] Remove static SofaInitializer and call unload into each respective module → wait for Paul then ready
- #425 Add cleanup to core and ensure that the cleanup happens in runSofa → wait for Paul
- #141 Update 45_Lifecycle_mechanisms.md Linked to #4882 → to review
- #138 Introduce Python script to generate automatically the doc GitHub Action fails to generate the doc while it's running locally → wip
- #123 Implement Mouse Interaction Handling Use local variables. Camera should use the vparams. → wip
- #121 [ImGui] Put config files into a folder Config files were dropped at the location of the executable loose. Now a dedicated ImGui config folder is generated. Linked to #4875 in SOFA → ready
- #4889 [Core] Fix compilation warnings with addClambda
- #4885 [Core] Add filtering for unloaded plugins in ObjectFactory::getAllEntries
- #4884 [Visual] BaseCamera: Fix return value when saving a view file
- #4863 [Helper, AnimationLoop] ComponentChange: add Dealiased state
- #4883 [FEM.Elastic] remove static variable
- #4872 [Qt] Register objects when loading from Qt
- #4813 [All] Remove SOFA_ENABLE_LEGACY_HEADERS usage
- #4859 [Plugin] Add Cosserat as a fetchable plugin
- #4880 [GUI] Improve Error Handling in createPerformer
- #4879 [VolumetricRendering.CUDA] Fix compilation after SOFA changes
- #4842 [All] Add way to disable windeppack
- #4844 [CMake] Allow the out-of-tree for Sofa.GL Gui.Qt and runSofa
- #4877 [GitHub] Update sofa-dev action to check timezone
- #4881 [Mapping] Fix draw in DistanceMultiMapping
- #4722 [Core,Helper] Prevent to create objects from unloaded plugins
- #4869 [all] Fix type of renamed Data
- #4864 [SofaCUDA] Simplify definition of CudaVector type
- #436 [Bindings.Gui] Add binding on BaseGui::setConfigDirectoryPath
- #435 Update README.md
- #431 Add functions to load plugins automatically
- #426 Add new env.var to set a build configuration at runtime
- #434 Add binding for GUI::centerWindow
- #125 [ImGui] Add "Reset View" Option to Restore Default Windows Positions
- #124 [GLFW, ImGui] Automatically restore camera at startup if a view file is present
- #122 Save global scale in Settings
- #119 Fix triggered assert
- #118 Implement centerWindow()
- #120 Replace deprecated Data
- The SOFA Physics engine for Unity asset has been published on the Unity Asset store ! Congrat to InfinyTech3D for this amaysing work ! Go check it out here 🎉
- Registrations for the SOFA Week 2024 in Lille next November are OPEN!
- Live demo from Aimen: work on mouse interactions within the GLFW-ImGUI plugin
- Mouse interaction is available with SofaGLFW GUI 👏
- Bugs moving viewport are fixed
- Remaining TODOs
- Data should become editable
- Settings should allow for changing interactions (constraint-based)
- OGLSceneFrame to be corrected
- Scaling window should not change the scale of the scene view
- Responsive font
- Discussion with partners like Anatoscope
- Their technical feedback is always interesting to hear
- Bringing our technical topics in order to benefit from their experience would be great: created dedicated flag "expert discussion required" to identify topics
- Incompatibility of the MeshVTKLoader with the VTK5+ file format
- Find a way to benefit from an easy-to-use library making the coupling with VTK (including the VTK binary format)
-
[Core,Helper] Prevent to create objects from unloaded plugins
- Explicit registering might solve this issue in a better way
- PR can be merged but it adds complexity on the PluginManager
- Fix failing tests due to the factorization
-
[ODESOlver] Fix RHS computation of the backward Euler implicit solver
- This new computation formula should be expanded on visco-elastic cases to asses the proper assembly
- Investigate further Rayleigh damping
- Fix regression DistanceMultiMapping scene: examples/Component/Mapping/NonLinear/DistanceMultiMapping.scn
- #4722 [Core,Helper] Prevent to create objects from unloaded plugins see above technical discussions → wip
- #434 Add binding for GUI::centerWindow wait for GLFW → ready
- #432 [Bindings] Remove static SofaInitializer and call unload into each respective module Would replace #424 and add clear cash function from this. → wait for Paul feedback
- #431 Add functions to load plugins automatically This raises the fact that runSofa loads by default the plugins. Else PR which adds a function to have this auto load in Python → ready
- #426 Add new env.var to set a build configuration at runtime → ready
- #425 Add cleanup to core and ensure that the cleanup happens in runSofa Should be replaced by #432 → wait for Paul feedback
- #424 Add two testing features Add function to load a scene from a file. Suggestion made to rename → wait for author feedback then ready
- #118 Implement centerWindow() This function of BaseGUI is now available in SofaGLFW. Binding for SofaPython3 has been added. → keep to review
- #4866 [SofaCUDA] Apply rename of some Data
- #4865 [Constraint.Projective] Fix internal data allocation
- #4847 [Config] Add CMake option for memory sanitizer
- #4846 [Core] Remove m_cId deprecation warning spam
- #4860 [Helper] Fix deprecation warning for BackgroundSetting component
- #4827 [All] VisualModel: implement NVI for init/updateVisual()
- #4854 [Core] Fix string comparison in factory
- #4849 [CMake] Change CMake version in preset
- #4788 [Core] Proposition to reduce the number of alias declarations
- #4838 [All] Reduce use of raw pointers
- #4843 [Topology.Dynamic] Fix wrong deprecation
- #4822 [Sofa.GL] OglModel: Deprecate/Remove isEnabled Data
- #4801 [GUI.Component] ConstraintAttachBodyPerformer: Add RigidType support
- #4835 [FEM.Elastic] Example of using structured binding
- #4832 [FEM.Elastic] Hexa FEM inherits from BaseLinearElasticityFEMForceField
- #4814 [Core] Add RenamedData component for data symbol renaming
- #155 [src] Update RodSection, WireRestShape and All BeamInterpolation to correctly redirect the getters to the Data
- #154 [src] Fix AdaptiveBeamMapping mapping at init with none deployed beam
- #137 [workflow] Add contributing from SOFA sources
- #140 Navcase
- #139 Change case
- #125 Introduce page for SquareMapping
- #126 Add categories to the generated doc
- Registrations for the SOFA Week 2024 in Lille next November are OPEN!
- The SOFA Physics engine for Unity asset has been published on the Unity Asset store ! Congrat to InfinyTech3D for this amaysing work ! Go check it out here !!
- #4828 [Helper] Added cleanup callback (SOFA) and #425 Add cleanup to core and ensure that the cleanup happens in runSofa (SofaPython3) Related also to the issue #429 on SofaPython3. Warning due to the missing cleanups appears in a python environment when SofaRuntime is not imported. Cleanup should be handled by the one importing the package (Sofa.Helper should do its own cleanup). We should document ourselves on the pybind mechanism: make sure we cleanup the proper ways
-
#4838 [All] Reduce use of raw pointers
Use
std::make_unique
alsothread_local
. Curious to assess again with clang sanitizer → ready - #4835 [FEM.Elastic] Example of using structured binding Nice modern way to write C++ with structured binding → ready
- #4832 [FEM.Elastic] Hexa FEM inherits from BaseLinearElasticityFEMForceField → ready
- #4828 [Helper] Added cleanup callback See above technical discussion → keep to review
- #4827 [All] VisualModel: implement NVI for init/updateVisual() Real nice cleaning of the visual API, now massive use of delegate functions (NVI pattner). Ease a lot the cleaning and readibility → ready
- #4822 [Sofa.GL] OglModel: Deprecate/Remove isEnabled Data → ready
-
#4814 [Core] Add RenamedData component for data symbol renaming
This feature should be extended to all RENAMED data and
setParent
function should be replaced withsetOriginalData
. See issue #4845 → ready - #4813 [All] Remove SOFA_ENABLE_LEGACY_HEADERS usage Remove SleepController and move SofaValidation under the sofa-framework organization → wip
- #4801 [GUI.Component] ConstraintAttachBodyPerformer: Add RigidType support Suggestion to keep the orientation where the picking took place does not work. This is related to the BilateralLagrangianConstraint API (see issue #4834). Minor remark: Data is SOFA should always be public → ready
- #4788 [Core] Proposition to reduce the number of alias declarations Revert changes in TriangleFEMForcefield → minor change then ready
- #4649 [Spring] Merging StiffSpringForceField and its parent Two tests are failing, new review to do as well → wip
- #425 Add cleanup to core and ensure that the cleanup happens in runSofa See above technical discussion → keep to review
- #155 [src] Update RodSection, WireRestShape and All BeamInterpolation to correctly redirect the getters to the Data → ready
- #154 [src] Fix AdaptiveBeamMapping mapping at init with none deployed beam → ready
- #137 Last improvement for the doc generation
- #136 Massive cleaning of the documentation in prevision of the new documentation
- #135 Suggest SOFA_ROOT env var when buidling a plugin → ALL these PRs go towards a new documentation, which will be released very soon this summer!!
- #126 Add categories to the generated doc → ready
- #4841 [CMake] Add QGLViewer2 name in FindQGLViewer.cmake
- #4824 [FEM.Elastic] Remove unused methods
- #4823 [Projective] FixedProjectiveConstraint: Remove draw specializations and compute bbox
- #4837 [Helper] Move string utils from Utils to StringUtils
- #4820 [All] Reduce includes to helper/set.h
- #4818 [Core] Test json dump on the main object factory
- #4780 [FEM.Elastic] Fix small deformation in TriangleFEMForceField
- #4805 [all] Clean some warnings
- #4763 [Lagrangian.Model] Use base class Data instead of protected class member for constraint id
- #422 Introduce binding to dump the object factory in json format
- #421 [Slicer-SOFA integration] Add compatibility with GCC
- The Soft Robotic Summer School took place in Lille, it was a real success, congratulations to the Defrost Team and every one who helped making this possible!
- Registrations for the SOFA Week 2024 in Lille next November are OPEN!
- SofaGym : RL with BeamAdapter (warm restart)
- member variables moved as Data
- instead of exposing all variables as Data, a cleaner approach would be to make components serializable
- test/regression should be done to confirm the warm restart state
-
#4813 [All] Remove SOFA_ENABLE_LEGACY_HEADERS usage
- Karscher cleaning
- Still some component to state on :
- Gravity : required if we want an API that separate the gravity and the root node, to move in MechanicalLoad
- SleepControler : to check, might be interesting to bring it back
- SofaValidation : to archive in external plugins
- SofaExporter : to import components which have examples
- SofaMiscCollision : should be fully removed
- Check for SimpleAPI compatibility layer
-
#4801 [GUI.Component] ConstraintAttachBodyPerformer: Add RigidType support
- Many unused parameters in the method addContact(), the API should be updated (simplified) accordingly
- Create an issue to rethink the API
- #4828 [Helper] Added cleanup callback Involve Damien regarding the proposed cleanup mechanism to see if there might be some better way. → keep to review
- #4820 [All] Reduce includes to helper/set.h In helper/set, an operator string is defined in the namespace std. → ready
- #4818 [Core] Test json dump on the main object factory → ready
- #4814 [Core] Add RenamedData component for data symbol renaming Remove inheritage from Data and use composition, encapsulate data. Then, recreate the data API. → wip
- #4813 [All] Remove SOFA_ENABLE_LEGACY_HEADERS usage See technical discussion above → wip
- #4805 [all] Clean some warnings → ready
- #4801 [GUI.Component] ConstraintAttachBodyPerformer: Add RigidType support See technical discussion above. Work to do on the orientation of the constraint before merge → wip
- #4788 [Core] Proposition to reduce the number of alias declarations Keep alias (using traits) on components having only one template. For components with multiple templates, traits can be used directly. Revert changes in TriangleFEMForcefield → minor change then ready
- #4780 [FEM.Elastic] Fix small deformation in TriangleFEMForceField This part of this code is never tested. Small version of the TriangleFEMForceField is broken and should be updated soon (upcoming task) → ready
- #4763 [Lagrangian.Model] Use base class Data instead of protected class member for constraint id Might still need to apply it to other constraint components → ready
- #4429 [All] POC: ObjectFactory: Explicit components registration → ready
- #426 Add new env.var to set a build configuration at runtime Updated pybind version makes the tests pass (2.12.0 instead of 2.11.2). Revert diff on workflow file. A new environment variable is added to define the folder name into which looking for the SOFA dynamic libraries. New issue #427 to explain why this solution is not good and should be changed. → ready
- #425 Add cleanup to core and ensure that the cleanup happens in runSofa Merge #4828 and move the output in the lambda function → ready
- #423 Follow Sofa change for init/updatevisual → Wait for #4827
- #422 Introduce binding to dump the object factory in json format → ready
- #421 [Slicer-SOFA integration] Add compatibility with GCC → ready
- #414 [CI] Update workflow to match branch name → wip
- #152 [IRC] Add a Link for the mandatory FixedConstraint Remove auto instantiation and only output error and let it crash. Add the componentState flag anyway → wip
- #4831 [FEM.Elastic] Fix dynamic symbols
- #4778 [FEM.Elastic] Start unification of tetra FF and division of tests
- #4819 [Collision] Secure pointers dereferences
- #4817 [Core] Deprecate typeName with parameter
- #4816 [Core] Explicit type instead of calling function with side effect
- #153 [scenes] Fix scene warnings in xml and python
- #151 WireRestShape: getBeamSection() must return a const ref in any case
❌ No meeting due to the Soft Robotic Summer School in Lille!
- Discover the new release v24.06!
- Registrations for the SOFA Week 2024 in Lille next November are OPEN!
- The Soft Robotic Summer School is coming in two weeks in Lille!
- Caribou plugin status
- updates from JNB to fix the compilation with the more recent versions of SOFA
- several branches on Fenics (Ask Sidaty)
- updating the plugin and possible merges with SOFA need to be rediscussed
- #4804 [SofaTest] Rename deprecated data → ready
- #4802 [All] Remove compat layer for Intersection methods → ready
- #4795 [All] Plugins: Deprecate entrypoint getModuleComponentList() → ready
-
#4788 [Core] Proposition to reduce the number of alias declarations
Defining this as private could not work because nothing prevents from using it elsewhere.
Example on Multi2Mapping is satisfactory (readibility improved, no public/private scopes) but when a single template is used, the verbosity is not satisfactory
using Real = Real_t<DataTypes>;
. SReal is a generic declaration of types (simplify the codebase). To target a specific architecture, all what is needed is to modify this SReal definition. The SofaCUDA plugin prevents from the full usage of SReal. → to be further discussed - #4787 [Project] Start dev phase v24.12 Depends on #4802 → ready
- #4780 [FEM.Elastic] Fix small deformation in TriangleFEMForceField → keep to review (Erik)
- [FEM.Elastic] Start unification of tetra FF and division of tests #4778 Fix conflicts then ready (it was ready just before) → wip
- #4775 [Core] Dump ObjectFactory in json Destination type for links has been added. An executable or a Python binding could be generated from this to automatically dump the file. → ready
- #4429 [All] POC: ObjectFactory: Explicit components registration The PR is now ready but it will have a massive impact on all the code base. We suggest to merge it but silently (remove temporarily all the warnings: compilation-time and runtime). Another PR will start the cleaning within SOFA and its official plugins. → keep to review
- #4786 [Core] Factorize two variables with the same meaning (constraint id)
- #4771 [Component] Rename Data
- #4797 [GUI] Fix typo in comments
- #4781 [FEM.Elastic] Add test of TriangleFEMForceField
- #4793 [GUI] initialize pointer to nullptr to avoid crash
- #4777 [Mapping.NonLinear] Cleaning of DistanceMapping
- #4792 [Simulation.Core] Fix assert due to #4776
- #129 Add action triggering the doc generation
- #128 Update doc.yml
- #123 Move mapping from SOFA/Component to its plugin directory
- #122 Update README
- Discover the new release v24.06!
- Registrations for the SOFA Week 2024 in Lille next November are OPEN!
- The Soft Robotic Summer School is coming in two weeks in Lille!
- Failing tests on the CI: https://ci.inria.fr/sofa-ci-dev/job/sofa-framework/job/PR-4788/CI_CONFIG=ubuntu_gcc,CI_PLUGINS=options,CI_TYPE=release/2/testReport/ → Update pybind version for all python version in builders
- #4793 [GUI] initialize pointer to nullptr to avoid crash → ready
- #4788 [Core] Proposition to reduce the number of alias declarations This is a proposal. The use of aliases in the public scope of the class is not desirable. The use of macro is not desirable either. The traits mechanism seems good and is the one selected. A new use case with the traits will be proposed + an example where the aliases are defined through the traits. The goal is then to apply that to the whole core. → keep to review
- #4787 [Project] Start dev phase v24.12 Fix collision uses → back to wip
- #4786 [Core] Factorize two variables with the same meaning (constraint id) Integrate awesome suggestion by Fred then ready → ready
- #4781 [FEM.Elastic] Add test of TriangleFEMForceField Test made with the "large" elastic formulation. Add testing on ForceFields (on various parameters), the roadmap has been updated accordingly → ready
-
#4780 [FEM.Elastic] Fix small deformation in TriangleFEMForceField
Erik will investigate the reason why the "small" elastic formulation crashes. Add a const attribute to remove all the
getValue()
→ keep to review - #4778 [FEM.Elastic] Start unification of tetra FF and division of tests → ready
- #4777 [Mapping.NonLinear] Cleaning of DistanceMapping → ready
- #4775 [Core] Dump ObjectFactory in json Minor remark: in a test, the typename field of a Class which is not portable (use of type_id). Add the type which is targeted by Links. In a later PR, we could introduce a field "status" for data when they are either undefined, input or output (see STC#17 discussions on update of components). → to review
- #4771 [Component] Rename Data Wait for last Paul's review then ready → ready
- #4766 [All] Introduce cmake unified configurations Use presets in new PR (essentially update them) → close
- #4429 [All] POC: ObjectFactory: Explicit components registration Renaming loadPlugin() into registerPlugin(). Last review then ready before applying this change to all SOFA → back to wip
- #409 Add way to deactivate gui bindings Change the Cmake option comment → then ready
- #151 WireRestShape: getBeamSection() must return a const ref in any case Make sure default values are zeros → then ready
- #4792 [Simulation.Core] Fix assert due to #4776
- #4784 [Core] Introduce category for LinearSystem
- #4785 [SofaAssump] Fix shadow variable in SceneColladaLoader
- #4776 [Core] Deprecate Compliant API in force fields
- #4779 [FEM.Elastic] Remove addKToMatrix override as it is duplicated from base class
- #121 attempt to update doc page setup
- #111 various fixes
- #120 Add discreet link to sofa website
- #119 Add details
- The Soft Robotic Summer School is coming in two weeks! See you on 8-12 July in Lille (France)
- The STC took place last week in Strasbourg ! Thank you to all the attendants ! A closing mail containing all the defined roadmaps and pictures of the event is on its way, stay updated !
- It will soon time to register to the SOFA Week 2024 in Lille next November
-
#4766 [All] Intoduce cmake unified configurations
- Make converge all plugin configurations (build, release, conda, website)
- Presets would be preferred
- Name of configurations could be made more clear: e.g. does
FULL
include all possible plugins or only the consortium-supported ones? - Plan various levels of plugins: tested, supported, maintained
- #4778 [FEM.Elastic] Start unification of tetra FF and division of tests Freshly open PR targeting unit tests (also on Triangle)! Common inheritance, in parent class a scalar Poisson ratio and a Young's modulus vector. Ready for review. Subsequently, create a class similar to TriangleFEMUtils, create callback on data. → keep to review
- #4777 [Mapping.NonLinear] Cleaning of DistanceMapping Wait for #4776 the restart CI (MacOS) and then merge → keep to review
- #4776 [Core] Deprecate Compliant API in force fields → ready
-
#4775 [Core] Dump ObjectFactory in json
Issue with the target (module in which the component is defined) and empty entry due to the absence of template. Overloading of the
int()
operator could conflict with #4429 but mechanism should be close anyway. TODO: waiting for Damien's feedback. Adding the parent class and the category → keep to review - #4771 [Component] Rename Data Test failing. Review to be done shortly since it's a large PR. Dates of deprecation should be updated as well (next release is v24.12). → wip
- #4766 [All] Introduce cmake unified configurations See technical discussions. Use presets else approved by dev community. → wip
-
#4763 [Lagrangian.Model] Use base class Data instead of protected class member for constraint id
Proposal: the variable
m_constraintIndex
is set whenbuildConstraintMatrix()
is called in the parent class PairInteractionConstraint. TODO: possibly rename withd_
, make sure that to fix all uses of m_constraintIndex (in BaseConstraintSet, am_cid
seems to be used, to be investigated) → wip - #4747 [Topology.Container.Dynamic] Add class TriangleSubdividers to store methods to subdivide a triangle in differents configurations → back to wip
-
#4429 [All] POC: ObjectFactory: Explicit components registration
Further to STC#17 discussions, this PR got reopened. It should be ready, registration has been moved : each module registers itself. Fred is currently working on renaming
loadPlugin()
intoregisterPlugin()
. Last review then ready before applying this change to all SOFA. → keep to review
- #150 Fix typos → ready and merged
❌ No meeting due to the SOFA Technical Committee #17!
- Check out and register to our upcoming events!
- SOFA Technical Committee #17: on 10-12 June in Strasbourg (France)
- Soft Robotic summer school: on 8-12 July in Lille (France)
- The SOFA America Workshop (SAW) was a success !! Thank you to all the presenters for their amazing work, and all the attendees for their presence !
- Don't forget to freeze a v24.06 branch on your plugin as the next release is on its way.
- Discussion on the new SOFA Doc
- Existing doc is merged with generated one : might need to clean the existing one by removing info that are generated
- xml/python example are displayed when they exist. The python translation might need some improvement
- The merged doc is pushed on a branch and can directly be used on the website
- Need to correct example names for some components that have been renamed (constraints)
- SofaPython3 auto completion
- Also need introspection in factory to generate documentation. Those needs are the same as the one of the doc generator: common ground required to export those data from the factory (into json ?)
- Difference in type of completion : static (without execution) and dynamic (with the component existing).
- Need
.pyi
file describing the methods and signature of each binfdings : generated automatically using python tools. - Problem with SOFA bindings: to simplify sometimes we state that the returning type is
object
but this gives no real informaiton. Might need to review cpp binding signaturee to be more specific. - Last part would be to be able to find all the attribute of the object by changing the addObject signature and passing the type instead of the string. But this requires the automatic generation of the description.
- Following STC dicsussion on what features we want.
- #4763 [Lagrangian.Model] Use base class Data instead of protected class member for constraint id Remove overriden mechanism of saving the constraint ID. Use the base constraint attribute instead. Maybe fix all the other constraint in this PR or do another one ? → wip
- #4751 [all] Update data comments → ready
- #4750 [Spring] Add fixed weak constraint and examples → wip
- #4747 [Topology.Container.Dynamic] Add class TriangleSubdividers to store methods to subdivide a triangle in differents configurations Need for the review of all devs. Maybe put the base geometric methods in a more generic lib to ease the use. → keep to review
- #4746 [Topology.Container] Various clean in TriangleSetGeometryAlgorithms → ready
- #4743 [MechanicalLoad] Update TrianglePressureForceField to remove plan selection and add callback on Data pressure and triangleList Regression test failing → wip
- #416 Update python version to 3.10 in doc Add automatic doc generation on github action for SofaPython3. Complete PR on Doc https://github.com/sofa-framework/SofaPython3/pull/352. → ready
- #415 [Core] bindings for topology functions Rerun MacOS action → then ready
- #118 Update build instructions → ready
- #116 add empty lines and 4 spaces indentation Can we add specification on the factory description do enable for instance the use of markdown in the description. Enable to display markdown in ImGUI ? Question on having a description string in the cpp file or external file (STC) ? → ready
- #115 Move files according to code structure → ready
-
#116 [SofaGLFWBaseGUI] Handle Keyboard events
Handle keyboard events. Remove the need of pressing
ctrl
to have something that is more logical sending the event only to the active part (gui/rendering/widget). Might be good to take inspiration from existing software. Need to invatigate for better UX strategy (only send event when on play ?). → wip - #115 [ImGUI] Add PIC property when on Fedora Remove OS filtering to fix it to all OS. Verify in SOFA if it is already set globaly. Test on compilation, might actually be nfd that needs to be compiled as PIC. → wip
- #111 [SofaImGui] Fix window positioning and state persistence issues Enable to have the same window state after closing/repopening the windows. Still need to fix the destructo call to make it work. → keep to review
- #4764 [examples] Rename FixedConstraint example
- #4749 [tools] Add new dependency to fix in MacOS post-install-fixup
- #4755 [all] Rename depreciation macros in config.h.in for unique module id…
- #4687 [examples] Use MeshMatrixMass in hyperelastic examples
- #4738 [Core] Add topology subset indices test
- Check out and register to our upcoming events!
- SOFA America Workshop: on 30-31 May in Montreal (Canada)
- SOFA Technical Committee #17: on 10-12 June in Strasbourg (France)
- Soft Robotic summer school: on 8-12 July in Lille (France)
- Freeze of v24.06 branch this week
- No meeting next week (preparation of the above mentioned SAW ☝️)
- Review of the STC program
- Let's prepare the STC technical discussions (e.g. preliminary discussions about the documentation, design of prefabs etc.)
-
#4748 [tools] Factorize and clean plugin list filtering
- Add SofaPython3 ?
- Keep Sofa.Metis, Multithreading
- Create an issue to remove autoload or only autoload the core plugins
- #4751 [all] Update data comments Small compilation error got fixed. Review should be done else ready → keep to review
- #4750 [Spring] Add fixed weak constraint and examples Add tests and modify the object description. Try to factorize as much as possible the code of spring models -> create an issue. → wip
- #4749 [tools] Add new dependency to fix in MacOS post-install-fixup Investigate whether the broken symbolic link can be fixed (libzstd.1.5.6.dylib) else the tiff format could be unsupported. → keep to review
- #4748 [tools] Factorize and clean plugin list filtering → see technical discussion
- #4747 [Topology.Container.Dynamic] Add class TriangleSubdividers to store methods to subdivide a triangle in differents configurations Adds new method that will replace the current methods in the TriangleTopology modifier. Need to review the PR as it is enriched. Open to discussion on how the object are istributed in therm of files etc... → wip
- #4746 [Topology.Container] Various clean in TriangleSetGeometryAlgorithms PR not compiling and comments → wip
- #4745 [PlayBack] Update playback scenes to write/read and compare a beam under gravity motion → ready
- #4743 [MechanicalLoad] Update TrianglePressureForceField to remove plan selection and add callback on Data pressure and triangleList Feature of selection of triangle (using plan and a distance) should not be within TrianglePressureForceField. Unit test failing and regression test to be fixed. → keep to review
- #4738 [Core] Add topology subset indices test Along the refactoring of springs, it has been noticed that subset of indices does not support the case where it contains several times the same indices (case where several springs are attached to one same point). Fix this before v24.06 → keep to review
- #4732 [tests] Fix and test value type string of topology primitives → ready
- #4628 [ODESolver] Explicit link to linear solver Test are rising an issue in MOR. To be fixed before merge. → keep to review
- #114 Introduce a single example of an automatically generated documentation of a component Merge this PR to check how does such a page looks like on the website. Possibly revert it later. → ready
- #113 Categories are not plural → ready
- #147 [Interpolation] Add BaseBeamInterpolation class to gather all methods linked to interpolation Check error on unit tests → then ready
- #4744 [PlayBack] Add option to set period in the WriteStateCreator visitor
- #4742 [Analyze] Fix typos
- #4741 [image_gui] Fix module name
- #4740 [MultiThreading] Fix module name in BeamLinearMapping_mt
- #4725 [Core] Warn when module name is empty
- #4719 [image_gui] Make it a cleaner SOFA module
- Check out and register to our upcoming events!
- SOFA America Workshop: on 30-31 May in Montreal (Canada)
- SOFA Technical Committee #17: on 10-12 June in Strasbourg (France)
- Soft Robotic summer school: on 8-12 July in Lille (France)
- Next SOFA-dev meetings back on Wednesdays (next meeting: 22/05)
- Freeze of v24.06 branch next week
- Finish refactoring on modules (related to the doc generation)
- Use milestone
- Share your interest among the discussion topics
- Maybe not all subject need to be assessed during the STC (e.g. Newton Raphson)
- Scene header : global solvers might need some rethinking to ease the integration of a NewtonRaphson
-
#4732 [tests] Add tests on value type string
Required for ImGUI Widget factory. Three solutions : 1) Create a
topology::Point
as a vector of index of size 1 to generalize, 2) add a specialization for Point to only store one Index or 3) accept that this doesn't make sens and skip it. → wip - #4725 [Core] Warn when module name is empty Launch scene and regression test. Might need to fix the modules of internal plugins in this PR if there is only a few, to provide an example on how to do it. → keep to review
- #4724 [tests] Adapt code to any Eigen version More info from Hugo required : new full build ? + Add milestone → keep to review
- #4722 [Core,Helper] Prevent to create objects from unloaded plugins Explicit registering might solve this issue in a better way. Or a "failsafe" mechanism (such as the one imagines for the macos libSofaPython3 solution). Discussed it again at the STC for the best solution. → postponed
- #4719 [image_gui] Make it a cleaner SOFA module Looking at the parameters used in the macro, the include used in the sources is passing through another target include interface. A good solution would be to move all the files inside a sub folder and include this subfolder. → wip
- #4628 [ODESolver] Explicit link to linear solver Still need the depreciation layer. → keep to review
- #147 [Interpolation] Add BaseBeamInterpolation class to gather all methods linked to interpolation Add a virtualization layer to factorize internal data used by bot the BeamInterpolation component and the WireInterpolation. More pr with examples will come in the future. Wait for tests results and need to be checked by the reviewer. → keep to review
- #134 Geometric stiffness in BeamLengthMapping Marked as 'Do not merge' because we don't have an usage example. Still need to validtae the use of geometric stiffness. → wip
- #4726 [image,Mapping.NonLinear] Properly includes config.h before ObjectFactory.h
- #4686 [CMake] Start finding Qt6 then Qt5
- #4682 [Setting] Rename Data
- #4679 [IO] Rename Data
- #4676 [Collision.Geometry+Response] Rename Data
- #4715 [AnimationLoop] Remove duplicated Constraint Visitors
- #4720 [image] Fix module name
- #4714 [SofaCUDA] extern template instantiations
- #4681 [Playback] Rename Data
- #4680 [ODESolver] Rename Data
- #4646 [Constraint.Lagrangian] Add fixed lagrangian constraint
- #4651 [FEM.HyperElastic] Convert string Data to OptionsGroup
- #124 Example: apply SOFA's fix on TopologicalMapping
- #148 Fix empty module name
- #146 Remove old deprecation
- #145 Fix crash if pointer is null
- Check out and register to our upcoming events!
- SOFA America Workshop: on 30-31 May in Montreal (Canada)
- SOFA Technical Committee #17: on 10-12 June in Strasbourg (France)
- Soft Robotic summer school: on 8-12 July in Lille (France)
- Pre-STC#17 discussions took place with roadmap leaders and consortium members
- Next SOFA-dev meeting next Tuesday the 14th of May at 10 a.m.!
- Post-install scripts : why modifying the
plugin_list.conf
? Paul will refactor this removed plugin list and think of removing it completely. - Python bindings : Slicer community identified problems of IDE/interpreter auto-completion. The Slicer team proposed to show their fox for this same problem on their bindings. Before organizing a meeting, ask Damien about current auto-completion ability of vanilla interpreter on the current python3 bindings.
- Add Qt Wayland plugin installation instructions #109 Proposes new instruction for qt installation when using wayland. Instead of adding a troubleshoot section, add an item in the installation doc with "if using wayland, then..."
- [Sofa.Http] Introduction of a latest release checker #4702 OpenSSL is too much of a dependency for such not important. It might be better to make a request on a http adress instead to avoid this dependency. Talk with Fred.
- Small discussion on paper Chen, Anka He, et al. Vertex Block Descent. ACM Transactions on Graphics (2024) Results are interesting on either performance or stability. Use an energy formulation with an Euler integration scheme at the dof level which increases parallelism and stability. It would be worth at looking more in details. Lib used for collision detection : Embree which could also be interesting to dig in. Based on SYCL to have a cross-platform
- Using the WriterSide tool, Alex presented a way to generate markdown pages for all SOFA components (see https://alxbilger.github.io/SofaDocGenerator). This could be used in the SOFA GUI to guide users regarding Data etc. We could also envisage to merge such a code-based doc with the user documentation.
- #4715 [AnimationLoop] Remove duplicated Constraint Visitors Fwd declaration with using in header to fasten compilation, includes in the cpp. → ready
- #4714 [SofaCUDA] extern template instantiations Create an issue to solve problem on SOFA_TARGET generation → ready
- #4702 [Sofa.Http] Introduction of a latest release checker See above technical discussion → wip
- #4687 [examples] Use MeshMatrixMass in hyperelastic examples → wip
- #4686 [CMake] Start finding Qt6 then Qt5 → ready
- #4684 [Visual] Rename Data Lots of scene test crashing → wip
- #4682 [Setting] Rename Data Wait for CI → keep to review
- #4681 [Playback] Rename Data → ready
- #4680 [ODESolver] Rename Data → ready
- #4679 [IO] Rename Data Still need some review → keep to review
- #4676 [Collision.Geometry+Response] Rename Data Still need some review → keep to review
- #4673 [Modeler] : WIP : Compatible Modeler project with last version Work attempting to revive the Modeler but this based on a very old version of SOFA. The PR should be restarted from a fresh master version and changes should be only focusing on Modeler. As an information, an implementation of a new Modeler are being prepared. To be cleaned (remove reverted changes from master commits) or closed. → wip
- #4651 [FEM.HyperElastic] Convert string Data to OptionsGroup wait for CI → then ready
- #4648 [GUI.Qt] Notice user a new version is available See technical discussions, this PR can be closed → closed
- #4646 [Constraint.Lagrangian] Add fixed lagrangian constraint → ready
- #4163 [all] Deprecates the hard coded interactions in components → wip
- #4675 [Collision.Detection.Intersection] Rename Data
- #4674 [Collision.Detection.Algorithm] Rename Data
- #4721 [SensableEmulation] Fix module name
- #4711 [Engine.Analyze] Fix initialization of distance type
- #4698 [all] Remove some warnings
- #4710 [Contact] Fix crash if collision models are not provided
- #4709 [CollisionOBBCapsule] Fix duplicated registration in the factory
- #4712 [SceneUtility] Initialize pointer to nullptr
- #4708 [examples] Remove examples using DefaultCollisionGroupManager
- #4707 [examples] Run PluginFinder on examples
- #4678 [Controller+Engine] Rename Data
- #4650 [GUI.Qt] Add clickable link to online documentation
- #4625 [LinearSystem] Cache mapped mass matrix
- Check out and register to our upcoming events!
- SOFA America Workshop: on 30-31 May in Montreal (Canada)
- SOFA Technical Committee #17: on 10-12 June in Strasbourg (France)
- Soft Robotic summer school: on 8-12 July in Lille (France)
- Pre-STC#17 discussions took place with roadmap leaders and consortium members
- Next SOFA-Dev meeting on next Tuesday the 7th of may at 10 a.m. !
- Update Qt6 on the Continuous Integration (further to #4686)
- Alex worked with Writerside, a documentation-focused IDE. Here is an example for SOFA: https://alxbilger.github.io/sofaWriterside/. Unit test failing. Might be a good tool to track errors, and construct the doc locally.
- #4684 [Visual] Rename Data Forwarding of default constructor has been added in topologicalData. It could be removed to keep only a regular Data which has the new data as parent. → keep to review
- #4678 [Controller+Engine] Rename Data → ready
- #4674 [Collision.Detection.Algorithm] Rename Data Missing compatibility layer to deprecate the dDraw data → keep to review
- #4651 [FEM.HyperElastic] Convert string Data to OptionsGroup Wait for tests to re-run, wait for ci-depends-on → then ready
- #4650 [GUI.Qt] Add clickable link to online documentation This would work if the associated PR on the documentation is merged: #108 → ready
- #4649 [Spring] Merging StiffSpringForceField and its parent Test CUDA compilation → keep to review then ready
- #4648 [GUI.Qt] Notice user a new version is available Review of existing libraries is ongoing. Question about the ability to dev a server with curl to replace the QWebBrowser. → keep draft
- #4646 [Constraint.Lagrangian] Add fixed lagrangian constraint Implement Vec specialization. → wip
- #4625 [LinearSystem] Cache mapped mass matrix → ready
- #4163 [all] Deprecates the hard coded interactions in components → keep to review
- #3368 [Topology] Add function in BaseMeshTopology to compute all topology containers Problem with SoftRobots mesh not properly structured because this PR increase the topological constraints on the meshes. All level of element should be consistant even when only the tetra are used. GMesh generated mesh file register only the surface triangles in the file which is inconsistent with all the tetrahedral elements. Erik will test if the example scene work with dynamic topo that recompute the lesser elements. → to be discussed at STC#17
- Check out and register to our upcoming events!
- SOFA America Workshop: on 30-31 May in Montreal (Canada)
- SOFA Technical Committee #17: on 10-12 June in Strasbourg (France)
- Soft Robotic summer school: on 8-12 July in Lille (France)
- Next SOFA dev meeting will be held online on TUESDAY 30th April at 10 a.m. !
- What to do with SofaOpenCL ? → Externalize and make it an achive
- #4648 [Gui.Qt] Notice user a new version is available → Use external lib instead of QT to do the http request. To be commonly defined.
- SOFA release as conda packages: https://github.com/sofa-framework/conda-ci → Try it out to provide feedback. Conda PR is pushed again with help of core-dev of Conda (through TIRREX)
- Problem with QWebEngineView pointed in #4656 → Again, might be great not to use a Qt based library for the DocBrowser and instead use the web browser -> will require to have a server on SOFA's side. And maybe think about UX (where and when to put it)
- #4651 [FEM.HyperElastic] Convert string Data to OptionsGroup CI shows errors and test failures → wip
- #4650 [GUI.Qt] Add clickable link to online documentation An automatic link could be generated from namespace and a check could be added if page exists (list of documented components). A discussion should be planned at STC#17! Damien suggests to reactivate the python script generating the documented components. → closed ?
- #4649 [Spring] Merging StiffSpringForceField and its parent Further to issue #248, this PR merged StiffSpringForceField and SpringForceField, becoming one single SpringForceField. A data could be added in ForceField (Base class) to enforce an explicit-only behavior of the ForceField. Need some time to review → keep to review
- #4648 [Gui.Qt] Notice user a new version is available See the above technical discussion → wip
- #4646 [Constraint.Lagrangian] Add fixed lagrangian constraint At init, the SingleStateAccessor already does the check done in the FixedLagrangianConstraint. Remove it then ready. → wip
- #4641 [QtGui] Some cleaning in qt RealGui → ready
- #4639 [Fem] Small update on container access to avoid unecessary check → ready
- #4638 [GUI.Component] Add virtualization for attachment performer Add issue to rethink performers api → ready
- #4637 [SofaGuiQt] Add PenalityContact vector Data display → ready
-
#4628 [ODESolver] Explicit link to linear solver
Add deprecation layer on the function
m_setSystemMBKMatrix()
else perfect! → wip -
#4625 [LinearSystem] Cache mapped mass matrix
Reviews taken into accound for the Mass and change in all linear mapping so that
isLinear()
returns true. Stiffness matrix could be implemented later on. TODO: add an observer on the mapping. → keep to review -
#4163 [all] Deprecates the hard coded interactions in components
Asked reimplementation of controlers was done. Date for deprecation should be added, to do so check other usages of
msg_deprecated()
→ keep to review then ready
- #4634 [Core] Missing call to super init
- #4630 [LinearAlgebra] Trigger error on the Eigen version
- #4194 [Geometry] Update method intersectionWithEdge signature and redirect all methods to it in EdgeSetGeometryAlgorithms
- #4643 [Demos] Fix regression for fallingBeamLagrangianCollision.scn
- #4603 [HyperElastic] Introduce stable Neo Hookean hyperelastic material
- Release 23.12 patched → v23.12.01 is available
-
SOFA America Workshop: on 30-31 May in Montreal (Canada)
- Pre-program is available
- Registration is open!
-
SOFA Technical Committee #17: on 10-12 June in Strasbourg (France).
- Registration is open!
-
Soft Robotic summer school: on 8-12 July in Lille (France).
- Registration is open! Don't forget to submit an abstract for a poster contribution after registration! Deadline has been extended to the 15th of April (Monday next week !)
- minor topic: measuring projection/distances on a surface #4519 Should rely on the RayCollisionModel to take advantage of the collision pipeline (BroadPhase)
- #4625 : interest according to InSimo, no feedback from Mimesis
- #4625 [LinearSystem] Cache mapped mass matrix The feature caching a mapped mass matrix is interesting and it can be added directly in SOFA. Adding a similar mechanism for the stiffness matrix could be implemented (not yet in the PR). Use of DDG to update the data value when input data is modified (dt, and mstate.size). However, we do not detect changes in mapping for now (update), tracking the componentState of mapping could be a solution (if callbacks are well implemented in mappings). About the stiffness, it usually depends on the current dofs. Therefore, it is often non-constant (apart from stiff springs, constantFF, small deformation elasticity). Question on dynamic changes in the DDG : what append when the object owning a data in the graph is deleted ? Investigate a new solution for cache invalidation that would work with the Stiffness. → wip
- #4603 [HyperElastic] Introduce stable Neo Hookean hyperelastic material → ready
- #4194 [Geometry] Update method intersectionWithEdge signature and redirect all methods to it in EdgeSetGeometryAlgorithms Add issue on LCPForceFeedback test because it result is random. Update the depreciation versions. → update then ready
-
#3927 [Mass] Replace doUpdateInternal by callback: UniformMass
Question on the usage of 'default value' if some are meant to be set (required). Here the component is invalid if none of the data (total mass or vertexMass) is set although a default value exists. This mechanism is not great but it is the best we can get with the current API. It would require to modify the global initialization mechanism and data framework (input, output, inout, required...) to have something better. Create issue to discuss this API update at the STC.
Replace
componentState.getValue()
withisComponentStateValid()
in theinit()
function → update then ready - #3368 [Topology] Add function in BaseMeshTopology to compute all topology containers Test failing → wip
- #412 [CI] enable tag release PR applied to all plugins where we need a release of the sources (using both a branch or a tag) → ready
- #4631 [Simulation.Core] Remove useless and annoying timers
- #4626 [GitHub] Add timezone info on cron Actions
- #4627 [all] Minor last fixes using SimpleApi
- Release 23.12 patched → v23.12.01 is available
-
SOFA America Workshop: on 30-31 May in Montreal (Canada)
- Pre-program is available
- Registration is open!
-
SOFA Technical Committee #17: on 10-12 June in Strasbourg (France).
- Registration is open!
-
Soft Robotic summer school: on 8-12 July in Lille (France).
- Registration is open! Don't forget to submit an abstract for a poster contribution after registration! Deadline is April 8th.
- #4625 [LinearSystem] Cache mapped mass matrix Discussion on J^T M J pre-computation: with a mapped node, we build a node-local matrix which is then projected in the global system. ForceFields and Masses can be concerned. It requires changes in Sofa/Core and in MatrixLinearSystem involving the Observer design pattern. This could be extended to stiffness as well but we lack of application cases. A data could also be added to activate or de-activate this feature. → ask other dev teams
- SOFA release versions
- v23.12 for Ubuntu 20.04 → generate unsupported binaries on forum
- Soon MacOS release
- #4603 [HyperElastic] Introduce stable Neo Hookean hyperelastic material Get a deeper understanding on Kronecker operator and evaluate how to implement eigenvalues clamping → keep to review
- #3928 [Mass] Replace doUpdateInternal by callback: MeshMatrixMass same as #3927 → wip
- #3927 [Mass] Replace doUpdateInternal by callback: UniformMass Similar feature is merged for the ConstantForceField in #3924. It adds separate callbacks for each data but a hacky flag allows to avoid data cross-dependency by de-activating all inputs non-set at the initialization. It could be done here as well but a more robust implementation (Data, callback) could be found. Add a unit test to make sure that no data cross-dependency is triggered. Manual test as well. Note: later, if a callback simply raises a flag change, we could define non-laizy callbacks. → wip
- #4582 [Collision.Response.Contact] Make contactId thread-safe
- #4601 [GUI] Add ConstraintAttachButtonSetting
- #4620 [LinearSystem] Remove development artifact
- #4583 [Collision.Detection] Give current intersection methods as parameter to intersection functions
- #4608 [plugins] Add fetchable ModelOrderReduction
- #4580 [Simulation] Tests: introduce multiple parallel simulations
- #4588 [LinearSystem.Direct] Remove metis dependency
- Release 23.12 patched → v23.12.01 is available
- First training session on Soft robotics took place online on Thursday ! You can be part of a next session by registering here !
-
SOFA America Workshop: on 30-31 May in Montreal (Canada)
- Pre-program is available
- Registration is open!
-
SOFA Technical Committee #17: on 10-12 June in Strasbourg (France).
- Registration is open!
-
Soft Robotic summer school: on 8-12 July in Lille (France).
- Registration is open! Don't forget to submit an abstract for a poster contribution after registration! Deadline is April 8th.
- Release 23.12 remaining tasks: last issues are fixed, one remaining in SoftRobots.Inverse. We're on it!
- Technical skills in CI/CMake: share the associated knowledge among the core-devs
- #4608 [plugins] Add fetchable ModelOrderReduction Script added on CI and compiles → ready
- #4603 [HyperElastic] Introduce stable Neo Hookean hyperelastic material Take time to look at maths: Hugo, Rémi and maybe Francois 🔥 → keep to review
- #4601 [GUI] Add ConstraintAttachButtonSetting Example added and alias removed. Add description of C++ class and example. → keep to review
- #4589 [plugins] Externalize all remaining plugins → closed
- #4588 [LinearSystem.Direct] Remove metis dependency Sofa.Metis plugin not compatible with Sofa version older thant this PR because of multiple target definition. TODO: Create a CI and add readme to the plugin. → ready
- #4583 [Collision.Detection] Give current intersection methods as parameter to intersection functions Keep compatibility layer which implies the boiler-plate code. Let's keep it this way until the v24.06 release and the lifecycle tasks further to the release → ready
-
#4582 [Collision.Response.Contact] Make contactId thread-safe
Remove the mechanism of
availableId
because its type is uint64. This should not required to have these integers in a list. → ready - #4580 [Simulation] Tests: introduce multiple parallel simulations → ready
- #4575 [plugins] Externalize haptic/interface plugins → closed
- #4573 [plugins] Externalize SofaDistanceGrid plugin Wait for next release to identify the points to automatize → closed
- #4536 Refactor a bit the way runSofa is implementing the scenegraph colors Keep only the 2-line change if the full API is not addressed → wip
- #409 Deactivate gui bindings when lib is not found Change mechanism to fit SOFAExporter → wip
- #408 Update cmake minimal version in cmake → ready
- #383 Update readme → closed
- #4600 [Type] Clean and test MatSym
- #4586 [CMake] Upgrade cmake_minimum_required to 3.22
- #4591 [runsofa] Allowing multiple argv
- #4619 [Multithreading] fix multithread packaging
- #4607 [tests] Use appropriate gtest macro
- #4576 [Geomagic] Update GeomagicDriver.cpp to fire error when hd.h is not found
- Release 23.12 is out !! --> https://github.com/sofa-framework/sofa/releases/tag/v23.12.00
-
SOFA America Workshop: on 30-31 May in Montreal (Canada)
- Pre-program is available
- Registration is open!
-
SOFA Technical Committee #17: on 10-12 June in Strasbourg (France).
- Registration is open!
- #4583 [Collision.Detection] Give current intersection methods as parameter to intersection functions This PR is part of a bigger task which aims at enabling multithreaded simulations (launching multiple simulations in parallel). The intersection mechanism allows to add methods for intersection through a factory. At runtime, an intersection object is created for the proximity in use in the simulation. The problem is that this pointer is created at runtime, is global and saved as pointer, creating race conditions. Here instead of refering to this singleton, it is passed through parameter to make it thread safe. Question is raised about shall we keep the compatibility layer or not regarding the method lacking the output parameter.
- #4603 [HyperElastic] Introduce stable Neo Hookean hyperelastic material This pr add tests of the hyperelastic materials (existing one and this new one) and some tests on the existing one are not passing. The code is a good first implementation but might miss some features (clamping). Parts of the implementation are uncertain (even if validated by tests) because of the lack of documentation on the hyperelastic materials. Would be great to test high compression with a beam fixed with springs instead of projective constraint. Need to have a more profound review. → wait for #4600
- #4601 [GUI] Add ConstraintAttachButtonSetting An example could be added, remove addAlias → keep to review
- #4600 [Type] Clean and test MatSym Compilation error in MatSym, storing the dense symmetric matrices. → wip
- #4591 [runsofa] Allowing multiple argv Wait for CI scene tests → then ready
- #4589 [plugins] Externalize all remaining plugins Need to make a PR on the ci project before merging. → keep to review
- #4588 [LinearSystem.Direct] Remove metis dependency Need to make a PR on the ci project before merging. Add fetchable mechanism (in SOFA and in ci repository) → keep to review
- #4586 [CMake] Upgrade cmake_minimum_required to 3.22 Conflict to be solved and documentation to be added → ready
- #4582 [Collision.Response.Contact] Mark contactId pool as thread local storage Windows compilation is broken. Might break the parrallel resolution of one single simulation (multithread plugin), to be checked. → wip
- #4581 [Constraint.Lagrangian.Solver] Make problemId counter id atomic → ready
- #4580 [Simulation] Tests: introduce multiple parallel simulations Wait for CI compilation → then ready
- #4576 [Geomagic] Update GeomagicDriver.cpp to fire error when hd.h is not found → ready
- #4575 [plugins] Externalize haptic/interface plugins Need to make a PR on the ci project before merging. → keep to review
- #4573 [plugins] Externalize SofaDistanceGrid plugin SofaImplicitField requires this plugin to compile, so we need to update the cmake error to tell user to fetch SofaDistanceGrid to compile SofaImplicitField. Automatization and homogeneity should be ensured on plugins. Need to make a PR on the ci project before merging. → keep to review
- #4599 [LinearAlgebra] Remove empty source file
- #4572 [plugins] Add SimpleApi as a dependency in SofaCarving_test
- #4598 [LinearAlgebra] Fix compilation of assert
- #4596 [Core] cmake: Remove last traces of Sofa.Component.Compat
- #4590 [Core] Remove unused debug trace
- #4552 [LinearSystem] Introduce ConstantSparsityProjectionMethod
- #4540 [all] Additional fixes further to v24.06 lifecycle
- #4565 [plugins] Remove ExternalBehaviorModel and ManualMapping plugins
- #4547 [LinearAlgebra] Refactor sparse matrix product
- #4544 [Project] Start dev phase v24.06
- #4529 [all] Fix some warnings
- #4533 [all] Lifecycle for v24.06 (2): remove Compat
- #4523 [GUI] Remove the New/Save/SaveAs menu options
- Release 23.12 is out !! --> https://github.com/sofa-framework/sofa/releases/tag/v23.12.00
-
SOFA America Workshop: on 30-31 May in Montreal (Canada)
- Pre-program is available
- Registration is open!
-
SOFA Technical Committee #17: on 10-12 June in Strasbourg (France).
- Registration is open!
-
cmake_minimum_required
should be updated regarding CMakeFetchContent
(find or fetch mechanism → skip, see #4586 - Question on the fusion of SoftRobot and SoftRobot.Inverse and of SofaPython and STLIB plugins
- SoftRobot and SoftRobot.Inverse: complex for license reasons (two distinct repositories and conda packages)
- SofaPython3 and STLIB for now stay separated for Conda.
- Discuss supported plugins → https://github.com/sofa-framework/sofa/wiki/Supported-SOFA-plugins
- Update in ci.yml to be done in order to publish GitHub releases for plugins
- Plugin naming : our policy should now be: adding
Sofa.
prefix to all plugins and the suffix should be light e.g.Sofa.Metis
,Sofa.CGAL
,Sofa.image
. This allows for extern users to understand that it is a SOFA-related code, which follows the SOFA NG format (no need to keep thePlugin
keyword). Will require to also update c++ namespace.
- #4552 [LinearSystem] Introduce ConstantSparsityProjectionMethod This method has a strong interest in the case of a mapping which propagates a sparse K matrix. Performance could even be more improved, looking at the cache management. Adding an example (membrane + volumetric model) → ready
- #4547 [LinearAlgebra] Refactor sparse matrix product Efficient matrix product exploiting the format of constant matrices: keep the structure and update the values. The configuration of these matrices (row major or column major) changes the matrix product. Instead of manually computing the product (assuming one specific configuration), this PR uses Eigen to be agnostic of the (8-possible) matrix configuration and to become more generic. A new scalar type is introduced which includes the scalar value and its indices in the matrix product. → ready
- #4544 [Project] Start dev phase v24.06 → ready
- #4540 [all] Additional fixes further to v24.06 lifecycle → wait for merge of #4533 then ready
- #4533 [all] Lifecycle for v24.06 (2): remove Compat Merge all depends-on → ready
- #4529 [all] Fix some warnings Missing include → wip
- #4523 [GUI] Remove the New/Save/SaveAs menu options → to be tested and then ready
- #404 fix Versioning to allow patches → ready
- #384 [SceneLoader] Add a special error message handler for DeprecationWarning → ready
- #383 Update readme Not needed because the pip installed package is sufficient, it is just needed to modify the CMAKE_PREFIX_PATH to add the path to the cmake files insite of the installed Pybind11. → close
- #381 [GUIManager] Add SofaGLFW and SofaImgui at runtime → close
- #380 [GUIManager] Add SofaGLFW and SofaImgui Add issue to externalise Qt gui from SofaPython3 and force to import it as well. The user experience aspects should be kept in mind. → close
- #4562 [README] Update link to Discord
- #4560 [script] Stale action: remove temporary layer and activate closing
- #4554 [cmake] Remove error in Findcxxopt
- #4564 [Config] Fix findcxxopt when version is not specified
- #4570 [Config] Fix Findmetis module when using config mode
- #4574 [all] Fix tinyxml2 dependency
- #4557 [Core] Update NarrowPhaseDetection.cpp use prefix
- #4535 [Simulation.Core] Make TSAN pass for caduceus
- #402 Update ci.yml
- #403 Fix out-of-tree compilation of dependencies
- #398 Add headers to the library so they're visible in IDE
- #396 Introduce bindings to linear system
- #392 Minor update of README.md
- Release 23.12 is out !! --> https://github.com/sofa-framework/sofa/releases/tag/v23.12.00
- SOFA America Workshop: on 30-31 May in Montreal (Canada). Registration is open!
- SOFA Technical Committee #17: on 10-12 June in Strasbourg (France). Registration is open!
- Discuss supported plugins → https://github.com/sofa-framework/sofa/wiki/Supported-SOFA-plugins
- Update in ci.yml to be done in order to publish GitHub releases for plugins
- #4560 [script] Remove temporary layer and activate closing → ready
- #4554 [cmake] Remove error in Findcxxopt If cxxopts is found but not the right version, it throws a warning only and then it fetches the right version. → ready
- #4552 [LinearSystem] Introduce ConstantSparsityProjectionMethod Looks fine, and impressive speed-ups are presented! → wait for #4547 (else ready)
- #4547 [LinearAlgebra] Refactor sparse matrix product Significant PR, needs a careful review → keep to review
- #4544 [Project] Start dev phase v24.06 Wait (PR drafted) for last cherry-picks in v23.12 to udpate changelog. Then ready. → keep to review
- #4540 [all] Additional fixes further to v24.06 lifecycle → wait for #4533 (else ready)
- #4533 [all] Lifecycle for v24.06 (2): remove Compat Merge all ci depends on → ready
- #4529 [all] Fix some warnings Add narrow_cast → keep to review
- #403 Fix out-of-tree compilation of dependencies Let's merge this PR is MacOS compilation passes. However, tests will have to be fixed subsequently → wait for CI, then ready
- #398 Add headers to the library so they're visible in IDE → ready
- #396 Introduce bindings to linear system → ready
- #392 Minor update of README.md → ready
- #384 [SceneLoader] Add a special error message handler for DeprecationWarning Requesting update on it → keep to review
- #383 Update readme Need some clarification on why pip is not working → will probably be closed
- #381 [GUIManager] Add SofaGLFW and SofaImgui at runtime Need to be decided with @alxbilger and @fredroy → keep to review
- #380 [GUIManager] Add SofaGLFW and SofaImgui Need to be decided with @alxbilger and @fredroy → keep to review
- #372 [CI] Update ci.yml PR is neither up to date and nor relevant anymore → closed
- #4558 [GUI.qt] Set link to tinyxml2 to PRIVATE and fix config file
- #4555 [Visual] Fix cmake config
- #4545 [all] Install FindTinyXML2
- #4542 [Sofa.Testing] Add SimpleApi in Config.cmake.in
- #4538 [Config] Add cxxopts cmake find module
- #4534 [Config] Add TSAN option
- #4526 [SofaSphFluid] Externalize SofaSphFluid
- Lifecycle for v24.06 started
- SOFA America Workshop : 30-31 May in Montreal. See all events online! Save the dates, call for presentation is coming soon!
- Reminder, we migrated our chat to Discord
- Temporary workaround for MacOS users to use non-signed binary
- GUI list through conda: at install of various packages through conda, the gui list file could be edited at each new GUI installed. But it needs to be tested since the path to the plugin_list.conf is edited using CMake variables (CMakeLists of runSofa)
- If it is using the sofa-setup-actions script, the CI of plugins should be updated using the @v5
- Invertible FE Model → to archive
- #4459 [Sofa.Testing] Do not build Sofa.Testing if SOFA_BUILD_TESTS is OFF: Sofa.Testing should externalized in order to bring real modularization → close again
- #4538 [Config] Add cxxopts cmake find module → ready
-
#4536 Refactor a bit the way runSofa is implementing the scenegraph colors
Several points are below this PR:
- define a new design for managing colors by component
- should the color API allow for new colors
- Should Prefab be refactored in Sofa.Core ? → wip (keep only the 2-line change)
- #4535 [Simulation.Core] Make TSAN pass for caduceus Have discussion on making taskSchedueler thread safe during the STC → ready
- #4534 [Config] Add TSAN option Option name should be more explicit: ThreadSanitizer. Try all scene tests with this option. → ready
-
#4533 [all] Lifecycle for v24.06 (2): remove Compat
Fix Windows compilation then ready. Remove
SOFA_SIMULATION_CORE_API
to prevent Windows error. → wip - #4532 [all] Lifecycle for v24.06 (1) Is aimed at being closed. → close
- #4529 [all] Fix some warnings C style cast are bad. → wip
- #4526 [SofaSphFluid] Externalize SofaSphFluid Add flags on the new repository, README and license should be added. → ready
- #4523 [GUI] Remove the New menu option Need to remove corresponding code in RealGUI then ready. Later, remove save button → wip
-
#4429 [All] POC: ObjectFactory: Explicit components registration
Meta module usefulness ? Maybe pass by regex in the plugin manager to include all plugin with same prefix (e.g. including
Sofa.Component
will include allSofa.Component.*
). One workaround to have an acceptable solution would be to pass through a staticgetModuleName
to avoid dynamic string comparison. PluginManager is not satisfactory as the existing design of "meta-modules". ObjectFactory On the user side, RequiredPlugin Objects of concern:- PluginManager -> is singleton the right design?
- ObjectFactory
- RequiredPlugin
- Are meta module necessary ? Create a diagram linking those various objects. → postponed
- #4194 [Geometry] Update method intersectionWithEdge signature and redirect all methods to it in EdgeSetGeometryAlgorithms One unit test on a scene is failing, this does not appear as a false-positive. Should be investigated → wip
- #4513 [DefaultType] Extract inner classes from SolidTypes in files
- #4450 [LinearSolver.Direct] Fix metis dependency
- #4525 [Simulation.Common] Fix tinyXML2 install for windows
- #4530 [GitHub] Fix GH Discussions Announcements for Discord
- #4522 [GitHub] Update version of the actions/github-script
- #4521 [Share] Remove DefaultCollisionGroupManager in the default scenes
- #4517 [image] Fix scene test
- #4482 [all] Apply nested namespaces
- #4494 [Topology] Fix method isQuadDeulaunayOriented and its use in splitAlongPath
- #4490 [LinearSystem] Introduce components to map matrices
- #4504 [Plugins] Move MeshSTEPLoader to an external repository
- #4507 [All] Display reference name when pulling external plugins
- #4509 [Simulation.Core] RequiredPlugin: Avoid calling loadPlugin() twice on start-up
- #4495 [Simulation.Graph] Move SimpleApi into its own library
- SOFA America Workshop : 30-31 May in Montreal. See all events online! Save the dates, call for presentation is coming soon!
- Reminder, we migrated our chat to Discord
- We are thinking about implementing additional mechanical constitutive laws in SOFA :arrow_right: Let us know what you would expect in discussion #4499!
- [Prefabs] PoC will be done to better think their design
- Update about CI builders: seems all fine now (first release binaries being generated). You should update your CI by using ubuntu22.04 and windows-2022 builder and use sofa-setup-action@v5. This is not yet rock solid but will be fixed in the following days. MacOS CI is in a transitive state, will be updated soon.
- [Plugins] Gather external plugins configs in a same folder (proposal) #4505
-
#4513 [DefaultType] Extract inner classes from SolidTypes in files
Missing deprecation layer (due to the move). TODO for the next PR. Move to
sofa::type
instead ofsofa::defaulttype
. → wip - #4509 [Simulation.Core] RequiredPlugin: Avoid calling loadPlugin() twice on start-up → ready
- #4507 [All] Display reference name when pulling external plugins → ready
- #4505 [Plugins] Gather external plugins configs in a same folder (proposal) Idea to better identify fetched and in source plugins. Better would be to externalize all plugins (except Multithreading, SofaCUDA and SofaPython3) for a cleaner understanding. → close
- #4504 [Plugins] Move MeshSTEPLoader to an external repository Should be hosted under the sofa-framework organization. Add SOFA_FETCH_MESHSTEPLOADER=ON in the CI → ready
- #4494 [Topology] Fix method isQuadDeulaunayOriented and its use in splitAlongPath → ready
- #4490 [LinearSystem] Introduce components to map matrices Added example to illustrate the definition of MatrixProjectionMethod. As a reminder, this component by default is automatically added as a Slave → ready
- #4482 [all] Apply nested namespaces Issue with CI, restart to test one last time. Test on SofaPython3 failing due to missing scipy. → CI then ready
- #4429 [All] POC: ObjectFactory: Explicit components registration Remame RegisterObject as ObjectRegistrationData and add a deprecation layer. Handle the meta-module (e.g. Sofa.Component) to make sure that objects are not registered twice. ObjectFactory keeps this information but requires the PluginManager singleton. Not yet satisfied about the way we detect multiple registration of objects. Alex will take a look at it. → keep to review
- #4194 [Geometry] Update method intersectionWithEdge signature and redirect all methods to it in EdgeSetGeometryAlgorithms Wait for #4494 then ready → ready
- #4506 [Simulation.Common] Fix downstream project compilation with tinyXML2
- #4326 [SofaAssimp] Fix the FindAssimp.cmake
- #4240 [all] Replace tinyxml by external tinyxml2
- We are thinking about implementing additional mechanical constitutive laws in SOFA :arrow_right: Let us know what you would expect in discussion #4499!
- SOFA America Workshop : 30-31 May in Montreal. Save the dates, call for presentation is coming soon!
- Reminder, we migrated our chat to Discord 💌
- [SofaGym] Use several SOFA simulations in python: 2 SOFA is parallel can run but not more using
os.fork
. Alex experienced C++ parallelism but less of python.tools/sofa-launcher
could be useful to launch several well-separated SOFA. A meeting with Samuel will be schedueled. - [Prefabs] Discussion incoming this week
- The process of actually updating the builders started. The new builders should be up and running by the end of the week.
- The PR#4496 [Config] POC: enable assertions even in release mode shows errors in scene tests coming from asserts that are not usually tested in release mode. Those error should be fixed in the following weeks.
- #4498 Update badge README.md → ready
- #4495 [Simulation.Graph] Move SimpleApi into its own library → ready
- #4494 [Topology] Fix method isQuadDeulaunayOriented and its use in splitAlongPath Failing test to fix. → wip
- #4491 [Helper] PluginManager Fix test in debug → ready
- #4490 [LinearSystem] Introduce components to map matrices Goal is to accelerate computation for cases where J (the mapping jacobian) is dense (e.g. MOR). In the future : develop new method for mappings for different usecases (e.g. ConstantSparsityPattern or Multithread). TODO: Add a scene to show the usage & use appropriate class names → then ready
- #4487 [VolumetricRendering][SofaCUDA] Move CUDA files related to VolumetricRendering → ready
- #4486 [Config] CMake: fix warning about upper/lowercase for Difflib Testing the reactivation of the regression tests on windows → ready
- #4485 [all] Convert some loops to range-based Need some more careful review before merging. → keep to review
- #4484 [image] Fix compilation on Windows Ambiguity related to CImg code. → ready
- #4482 [all] Apply nested namespaces Need to revert modifications on Indicators.hpp → then ready
- #4450 [LinearSolver.Direct] Fix metis dependency Need to update the fetch to checkout the right branch on our fork (5.1.0) → keep to review
- #4429 [All] POC: ObjectFactory: Explicit components registration We must first deprecate old way then modify all plugins to follow this new way of doing. The full propagation of the new API must be done before merging it. TODO: add warning at runtime → keep to review
- #4326 [SofaAssimp] Fix the FindAssimp.cmake Last core-dev review then ready → to review
- #4316 [SofaSPHFluid] Add option in ParticleSource to add/remove random values in the particles generation. Remove noise for CI scenes → ready
- #4240 [all] Replace tinyxml by external tinyxml2 Last core-dev review then ready → to review
-
#4194 [Geometry] Update method intersectionWithEdge signature and redirect all methods to it in EdgeSetGeometryAlgorithms
Depends on #4494 fixing the
isQuadDeulaunayOriented
method. Then this will fix the failing regression test → then ready
- #4477 [Core][LinearSolver] Introduction of ordering method components
- #4428 [LinearSystem] Detect changes in sparsity pattern when using ConstantSparsityPatternSystem
- #4464 [Helper] PluginManager: testing loading a plugin with a dependency on an other plugin
- #4489 [Testing] Fix installation of gtest headers
- #4483 [all] Missing override keyword
- #4471 [Testing] Externalize (find_package() or fetch) googletest/gtest
- #4466 [Helper] PluginManager: Check symbol (real) location and avoid calling wrong entrypoint (Mac/Linux)
- Feedback from the Sofa-Slicer integration project at Slicer Project Week.
- New plugin tree instanciations, pr to review : BeamAdapter and SoftRobots → Need to add these requirements to the doc itself to officialize this.
- Regression tests not working on Windows because the exe cannot open libPython38.dll although the test scenes work → Investigate the path at the execution of Regression_test.exe and runSofa.exe to see if there are any differences.
- Issue #393 on SofaPython3 linking on libPython → Try to use an intermediate lib that link to SofaPython3 and libPython that load libPython first bootstraping the loading. This is heavy and should be transparent for users and may affecty every distribution.
- #4477 [Core][LinearSolver] Introduction of ordering method components Modularization of the ordering method in a component allowing to remove Metis dependency in a plugin. → ready
- #4471 [Testing] Externalize (find_package() or fetch) googletest/gtest Remove gtest sources and update the version of this library. → ready
- #4450 [LinearSolver.Direct] Fix metis dependency It overrides the PR 4266, at the end we want to. Problem with install (copying of tinyXML2 and metis) should be discussed later on. → keep to review
- #4429 [All] POC: ObjectFactory: Explicit components registration Waiting for 4466 and 4464, wait for rebase and decide if the new design is good for all of us. Would require to add a documentation before the merge. → keep to review
- #4428 [LinearSystem] Detect changes in sparsity pattern when using ConstantSparsityPatternSystem The PR introduces a mechanism avoiding crashes when the pattern changes by ignoring new matrix entry, resulting in an explicit formulation of those new forces. This requires to monitor the pattern at each timestep which takes a lot of time : this is indeed only for debugging purposes. → ready
- #4478 [SofaCUDA] Fix spatial grid compilation with double
- #4474 [framework] Fix typo
- #4476 [GitHub] Use finally pull_request_target
- #4469 [All] CMake: Remove deprecation warnings
- #4475 [GitHub] Fix PR messages not properly sent
- #4467 [Testing] Deprecate BaseSimulationTest::importPlugin
- Project on integrating SOFA into Slicer has been accepted at the Slicer Project Week. SOFA will be represented there!
- Migration from Gitter to Discord : share your feedback
- New paper comparing SOFA for sim-2-real gap in robotics: https://arxiv.org/abs/2310.09543
- Prefab discussion ongoing
- Issue #393 on SofaPython3 linking on libpython
-
#394 proposes:
- remove pybind embed in CMakeLists of SofaPython3
- use the modern command pybind (pybind_add_module) which was reimplemented in SOFA (see SofaPython3Tools.cmake).
- however, the change could be applied at plugin initialization, to early manage the libpython loading
-
#394 proposes:
- #4471 [Testing] Externalize (find_package() or fetch) googletest/gtest PR should be tested: e.g. compile SP3 out-of-tree with an install version of SOFA. To be backported and tested at released → keep to review
- #4469 [All] CMake: Remove deprecation warnings → ready
- #4467 [Testing] Deprecate BaseSimulationTest::importPlugin → ready
- #4466 [Helper] PluginManager: Check symbol (real) location and avoid calling wrong entrypoint (Mac/Linux) See #4464 discussion → ready
- #4464 [Helper] PluginManager: testing loading a plugin with a dependency on an other plugin When a plugin depends on another plugin, and when the former does not define some plugin symbols, the PluginManager seeks for these symbols in the dependencies. See issue #4462 here. This PR along with #4466 → ready
- #4459 [Sofa.Testing] Do not build Sofa.Testing if SOFA_BUILD_TESTS is OFF Link with gtest was performed even if SOFA_BUILD_TESTS is off, this PR prevents this. However, we might rather need to distinguish two cases: build the tests vs the test API (Testing). #4471 should be sufficient on conda but another → wip, to possibly find a CMake alternative
-
#4450 [LinearSolver.Direct] Fix metis dependency
Replace #4266.
find_package
and if not existing use the fork 5.2.1 created by Paul. Due to the conda community timing, we might have to backport the fork to the 5.1.0 → keep to review - #4429 [All] POC: ObjectFactory: Explicit components registration Test of int operator depreciation (not yet committed). Wait for the other PR on plugin configuration → keep to review
- #4468 [GitHUb] Fix actions using cron condition
- #4455 [SofaDistanceGrid] remove shadow variable
- #4454 [Spring] Extract LinearSpring class in its own file
- #4465 [Defaulttype, LinearAlgera] Fix warnings
- #4456 [GitHub] Fix action using github.context
- #4448 [All] Add GIT_REF option for external plugins
- #4443 [StateContainer] Accelerate copy of MatrixDeriv for CRS matrices
- #4442 [LinearAlgebra] Factorize value filtering
- #4430 [SofaCUDA] Generalize the use of MessageDispatcher in SofaCUDA
- #4445 [GitHub] Add new actions to connect GitHub and Discord
- #4370 [LinearSolver.Direct] Introduce other ordering methods in SparseLDL through Eigen
- Project on integrating SOFA into Slicer has been accepted at the Slicer Project Week. SOFA will be represented there !
- Ubuntu builder are finished. Windows still pending
- SOFA America Workshop may occur early June: what about STC#17 dates?
- Migration from Gitter to Discord
- Issue #393 on SofaPython3 : Conda binaries are linked statically with libpython, which causes segfault on MacOS when loading another lib that is dynamivally linked to libpython. This is the case of libSofaPython3 linking with pybind11::embed (the python interpreter) which it self links to libpython.
- Good first idea seems to be decouple the library and extract the 'interpreter' part in order to remove the dynamic link
- A quick fix would be to compile on mac with the option
-undefined dynamic_linking
and force the libpython loading withDYLD_INSERT_LIBRARIES=$CONDA_PREFIX/lib/libpython3.10.dylib ./runSofa
libpython with runSofa. The PR #394 can be a temporary fix/hack using pybind - Too many RPath defined in Bindings, this should be fixed in a later PR
- METIS version distributed by conda and the reason it is not fit for our package (GKRand, segfault): more recent versions of 5.1.0 have been tested to be compatible with conda but not GKRand and 5.1.1 fails. More recent versions are not available on conda-forge
:arrow_right: we use a
find_package
and remove the embeded METIS version and rely on the 5.1.0 without GKRand and wait for the 24.06 to pluginize METIS-based code
- #4450 [LinearSolver.Direct] Dynamically link with embedded metis Need to add the find (v5.1.0) of fetch (our fork) mechanism. → keep to review
- #4448 [All] Add GIT_REF option for external plugins → ready
- #4445 [GitHub] Add new actions to connect GitHub and Discord Preparation for the SOFA Discord channels migration. Add many action that send insights messages on the discord server → ready
-
#4443 [StateContainer] Accelerate copy of MatrixDeriv for CRS matrices
Copy is now faster, especially with large mapped matrices.
copyToBaseMatrix
now takes about 2ms. This could be improved again for MOR were the mapping jacobian is constant so no copy is needed. → ready -
#4442 [LinearAlgebra] Factorize value filtering
CompressedRowSparseMatrixMechanical includes a
filterValues()
function which is templated. CompressedRowSparseMatrixMechanical.cpp defines 4 specialization of this function. Now everything is factorized. The object is that thefilterValues(TMatrix& ...)
handles only CompressedRowSparseMatrixMechanical but we would like also the CompressedRowSparseMatrixConstraint to be supported → ready - #4430 [SofaCUDA] Generalize the use of MessageDispatcher in SofaCUDA → ready
-
#4429 [All] POC: ObjectFactory: Explicit components registration
Still need to think about the compatibility/depreciation layer. The next PR about it should suggest this layer. Remove the static boolean
registered
and remove compatibility for the component MappedObject. To be rediscussed next week → keep to review - #4428 [LinearSystem] Detect changes in sparsity pattern when using ConstantSparsityPatternSystem Still one unit test failing → rebase and keep to review
- #4395 [VolumetricRendering][SofaCUDA] Move CUDA files related to VolumetricRendering Document the plugin ordering to make it easier to apply it to new plugin creations → to be closed and restarted in a fresh PR
- #4370 [LinearSolver.Direct] Introduce other ordering methods in SparseLDL through Eigen A test was failing and AMD was failing → ready
- #4453 [SofaCUDA] Initialize module from another module
- #4447 [Helper] Fix new[]/delete mismatch
- #4451 [CMake] Fix SOFA install
- #4410 [All] Rename license file into LICENSE-LGPL.md to follow github repository rules
- #4425 [plugins] Update license to LGPL of remaining files
- #4444 [GitHub] Clean existing actions
- #4436 [VolumetricRendering] Fix crashes in batch mode
- Project on integrating SOFA into Slicer has been proposed to Slicer project week
- Preparation of the upcoming release v23.12 started
- Builder Windows: template being set up :
- might need to update METIS version https://ci.inria.fr/sofa-ci-dev/job/sofa-custom/CI_CONFIG=ubuntu_gcc,CI_PYTHON3_VERSION=3.10,CI_TYPE=release/7632/testReport/ --> cette compil est faite avec metis 5.2.1 (branche creee sur notre repo.) parce que la 5.1.1 segfaultait malgré les modifs d'Alex. (Oui c'est build avec GKRand à ON)
- [All] POC: ObjectFactory: Explicit components registration #4429
- In an effort to include SOFA into a browser, a compilation of SOFA as a static library was needed. Several issues were faced : one of them being the RegisterObject functions (ObjectFactory). There was therefore the need to remove singleton like ObjectFactory and to explicit component registration
- Static compilation would be good anyway
- Choice is made to go further with Alex's first suggestion and refactoring of registerObject could be done later: factory triggers the commit → another pass will be done by Fred
- [plugins] Update license to LGPL of remaining files #4425
- #4436 [VolumetricRendering] Fix crashes in batch mode → ready
- #4430 [SofaCUDA] Generalize the use of MessageDispatcher in SofaCUDA Wait for the scene tests then ready → keep to review
- #4429 [All] POC: ObjectFactory: Explicit components registration See above discussion → keep to review
- #4428 [LinearSystem] Detect changes in sparsity pattern when using ConstantSparsityPatternSystem One last test in MatrixLinearSystem_test is failing and last review needed. Else the concept works. → keep to review
- #4425 [plugins] Update license to LGPL of remaining files → ready
- #4410 [All] Rename license file into LICENSE-LGPL.md to follow github repository rules → ready
- #4395 [VolumetricRendering][SofaCUDA] Move CUDA files related to VolumetricRendering Discussions lately last week converged to an ideal format of a plugin described here → keep to review
- #4432 [Core] Call super init() in MultiMapping and Multi2Mapping
- #4431 [Core] Add documentation for the method BaseMapping::buildGeometricStiffnessMatrix
- #4396 [Type] Refactor Mat
- #4422 [sofaInfo] Fix compilation and behavior
- #4420 [All] Fix subplugin regression tests
- #4205 [Lagrangian.Correction] Add callbacks to check zero compliance
-
Agenda 2024 is released! Save the dates!!
- Next STC#17 will be held in Strasbourg on June 10-12
- SOFA Week 2024 will be held in Lille on Nov 25-29
- Preparation of the upcoming release v23.12 started
- Builder Windows: template being set up
- Questions on the python find_package in SofaPython3
- CMakeLists.txt : the variable PYBIND11_PYTHON_VERSION is declared and only used here in place of the Python version --> why not use PYTHON_VERSION.
- It might also be usefull to add the parameter EXACT that'll help force the python version to one (this is cumbersome on MAC OS where it is current to have multiple python version installed)
- Licenses: some remaining GPL codes remain mostly SceneCreator and in SofaTest. What should we do? Pass it to LGPL or externalize (see #4416)
- NanoBind an interesting alternative to pybind
- When using constant parsity pattern, a check can be added when inserting to make sure that the pattern is respected. This test has a cost
- It could be conditioned though a data (checkIndices already existing)
- Ideas on the use of flags set by downstream components if their pattern has changed can be more efficient
- Doubt about the interest of the block3x3 optimization case
- #4422 [sofaInfo] Fix compilation and behavior Depends on PR on ci → ready
- #4420 [All] Fix subplugin regression tests Create issue to rethink the way it is done: maybe centralize the regression-tests files in Regression plugin. → ready
- #4410 [All] Rename license file into LICENSE-LGPL.md to follow github repository rules Wait for removing of remaining GPL files then ready → keep to review
- #4396 [Type] Refactor Mat → ready
- #4395 [VolumetricRendering][SofaCUDA] Move CUDA files related to VolumetricRendering Add symetry and remove entrelacing folders. A dedicated discussion took place, we came up to this proposal → keep to review
- #4370 [LinearSolver.Direct] Introduce other ordering methods in SparseLDL through Eigen Create issue for AMD : not compiling and correct the unit tests. → keep to review
- #4205 [Lagrangian.Correction] Add callbacks to check zero compliance Add comments → ready
- #4194 [Geometry] Update method intersectionWithEdge signature and redirect all methods to it in EdgeSetGeometryAlgorithms → keep to review
- #4417 [README] Minor update badges
- #4389 [Constraint.Lagrangian.Solver] Fix assert in GenericConstraintSolver
- #4398 [VolumetricRendering] Fix the compilation
-
Agenda 2024 is released! Save the dates!!
- Next STC#17 will be held in Strasbourg on June 10-12
- SOFA Week 2024 will be held in Lille on Nov 25-29
- Preparation of the upcoming release v23.12 started
- Issue raised in discussions #4281 about update of anisotropic inertia matrix for rigids
- #4410 [All] Rename license file into LICENSE-LGPL.md to follow github repository rules Changed the license file to allow github to display the license in the about part of github. This would add problems with the gui and/or the plugins that are not in LGPL. Still requires some discussion. → keep to review
- #4398 [VolumetricRendering] Fix the compilation → ready
- #4396 [Type] Refactor Mat PR is fine, just a change had to be done in Multithreading FF. Alex's review would be needed → keep to review
- #4395 [VolumetricRendering][SofaCUDA] Move CUDA files related to VolumetricRendering New suggestion has been made, conclude about it with Alex → keep to review
- #4389 [Constraint.Lagrangian.Solver] Fix assert in GenericConstraintSolver → ready
- #4370 [LinearSolver.Direct] Introduce other ordering methods in SparseLDL through Eigen Still one unit test failing and reviews added → keep to review
- #4194 [Geometry] Update method intersectionWithEdge signature and redirect all methods to it in EdgeSetGeometryAlgorithms Still one unit test failing → keep to review
- #4388 [Topology.Mapping] Edge2QuadTopologicalMapping: use States directly
- #4362 [Topology.Container.Dynamic] GeometryAlgorithms: support generic State
- #4361 [Topology.Mapping] Edge2QuadTopologicalMapping: use Links for required QuadSet components
-
Agenda 2024 is released!
- Next STC#17 will be held in Strasbourg on June 10-12
- SOFA Week 2024 will be held in Lille on Nov 25-29 Save the dates!!
- Preparation of the upcoming release v23.12 started
- GitHub Discussions
- Stale action running
- Centralized for all plugins (except SoftRobot for now)
- Add links to the proper discussion category in each plugin README
- Metis upgrade to 5.2.1
-
#4395 [VolumetricRendering][SofaCUDA] Move CUDA files related to VolumetricRendering
This begins a big refactoring of the SofaCUDA plugin. Externalizaing the cuda-based code of external plugins into the plugins themselves. This is a first suggestion, that will then be applied to the rest of the code. Alex wants to continue thinking about a hat plugin (having the cuda plugin inside the cpu plugin) to ease the user comprehension of what is compiled and where is everything.
→ wip - #4390 [SofaSimpleGUI] Fix calls to deprecated functions → ready
- #4389 [Constraint.Lagrangian.Solver] Fix assert in GenericConstraintSolver An assert in the creation of the MultiVecCoordId appeared in Debug when constraints were not solved in velocity. See if an optional pointer would better work than a unique one. → keep to review
- #4388 [Topology.Mapping] Edge2QuadTopologicalMapping: use States directly The condition used to know if the state is mechanical to know if ApplyJ has to be called seems weak. An issue will be opened. → ready
- #4386 [github] Add new action checking PR age → ready
- #4370 [LinearSolver.Direct] Introduce other ordering methods in SparseLDL through Eigen Failing test in StaticSolver. Need to investigate and test performances. → wip
- #4362 [Topology.Container.Dynamic] GeometryAlgorithms: support generic State → ready
- #4361 [Topology.Mapping] Edge2QuadTopologicalMapping: use Links for required QuadSet components → ready
- #4360 [Core] BaseMapping: link mapConstraints to the "meta-alias" isMechanical → ready
- #4357 [CImgPlugin] Add fetchable CImg and remove embedded cimg → ready
- #4356 [Config] CMake: support interface-type target for install macro → ready
- #4334 [Core] POC introduction of iterators on scene graph Work on merging BaseContext and BaseNode should first be addressed since the iterator would need to be able to iterate on both, but they have a different inheritance. → suggest to close
- #4333 [Core] Refactor VMultiOpEntry → wip
- #4309 [Constraint.Projective] Implement applyConstraint from new matrix assembly API Renamed data got reverted, now ready → ready
- #4302 [Constraint] Make name of constraints more explicit Constraints (Lagrangian and projective) got renamed. A new feature has been added to define in the ComponentChange renamed components. A check is added in the ObjectFactory to check whether the class is renamed and if so it creates the class with a warning. → ready
- #4392 [MultiThreading] Fix failing test on ParallelImplementationsRegistry
- #4393 [Core] Remove pragma directive in cpp file
- #4355 [LinearAlgebra] Factorize template specializations of filterValues in CRS matrix
- #4391 [Type] Remove test of a deprecated constructor
- #4363 [Mapping.Linear] Replace a few beginEdit by accessors
- #4354 [GUI] Fix compilation using QDocBrowser
- #4352 [LinearAlgebra] constexpr if statement when possible
- #4351 [LinearAlgebra] Use class template argument deduction with MatrixExpr
- #4348 [github] fix stale action
- #4328 [Simulation.Core] Remove usage of ill-used nodeData in MechanicalGetNonDiagonalMassesCountVisitor and MechanicalVDotVisitor
- Preparation of the upcoming release v23.12 started
- Welcome to new InfinyTech3D member : Ronak Molazem. She also joined the SOFA dev team !
- GitHub Discussions
- Reordering upcoming to welcome dedicated area for Community Help on Plugins
- Question on the case of SoftRobot
- Question on regrouping InfinyTech3D plugins (Unity ?)
- #4348 [github] fix stale action --> ready to update all discussions
- Reordering upcoming to welcome dedicated area for Community Help on Plugins
- Test SoftRobots on CI with scene
examples/tutorials/Tripod/myproject/step7.py
and it will be fixed by adding theserial
python package on the new builders - Auto differentiation of simulation in SOFA: roadmap defined at the DEFROST team
- #4357 [CImgPlugin] Add fetchable CImg and remove embedded cimg → to review
- #4356 [Config] CMake: support interface-type target for install macro Work to go for a fetch of CImg instead of using the heavy embedded cimg. However, this is an interface and it requires some work with not-recent versions of CMake. → to review
- #4355 [LinearAlgebra] Factorize template specializations of filterValues in CRS matrix → ready
- #4354 [GUI] FIX QDocBrowser To be tested in the compilation (hugtalbot) → then ready
- #4352 [LinearAlgebra] constexpr if statement when possible → ready
- #4351 [LinearAlgebra] Use class template argument deduction with MatrixExpr → ready
- #4350 [Simulation.Core] BaseMechanicalVisitor: Deprecate rootData → ready
- #4348 [github] fix stale action → ready
- #4334 [Core] POC introduction of iterators on scene graph POC is good, doesn't compile and allow to not rely on visitors, but still rely on a need of a global conductor (not entirely "visitor-less" as we might think of). The mechanism is of interest for some core components to make the call of their methods more explicit. → wip
- #4333 [Core] Refactor VMultiOpEntry The code doesn't compile rigth now and the goal is not yet reached. A question arised on the performance impact regarding the complexity : is it really worth it ? The cuda version may be worth it actually. → wip
- #4328 [Simulation.Core] Remove usage of ill-used nodeData in MechanicalGetNonDiagonalMassesCountVisitor and MechanicalVDotVisitor → ready
- #4326 [SofaAssimp] Fix the FindAssimp.cmake Failing on Windows, will work on future builders → wait for new builder and keep to review
- #4324 [All] Changed message for scene check Wait for #4302 → wait for new builder and keep to review
- #4309 [Constraint.Projective] Implement applyConstraint from new matrix assembly API Review to be taken into account → wip
-
#4302 [Constraint] Make name of constraints more explicit
UnilateralInteractionConstraint will become UnilateralLagrangeConstrainst. PR seems ready. Issue with the
SofaConstraintSolver_matrix_access_test_matrix_access
, check aliases with templates → to review (quickly) - #4266 [all] Externalize metis Add fork of METIS to ease the process of building/packaging → wait for new builder
- #4240 [all] Replace tinyxml by external tinyxml2 → wait for new builder
- #4205 [Lagrangian.Correction] Add callbacks to check zero compliance Need to talk to Christian → wip
- #4296 [Type] Refactor Vec
- #4242 [Topology] Check indices out-of-bound in TriangleSetTopologyContainer
- #4338 [Haption] Partially fix the plugin
- #4347 [github] quick fix for GHD script
- #4330 [image] image_gui to compile with Qt6
- #4327 [Simulation.Core] Deprecate LocalStorage feature
- #4268 [GitHub] Add a python-based action managing discussions
- #4325 [ODESolver] Fix compilation with SOFA_NO_VMULTIOP
- #4301 [SolidMechanics] Implement buildStiffnessMatrix for PolynomialSpringsFF
- SOFA consortium will be at Inria’s Programme santé numérique doing a demo during the SOFA-dev meeting, Alex will be your host
- New hire at InfinyTech3D
- Haption plugin: no longer maintained. Could be externalized. In the meantime, we could make some changes so it can be compiled on the CI (to maintain compatibility with SOFA) using a fake virtuoseAPI header. Probably same conclusion with Xitact.
- [#383] -> More information requested
- #381 [GUIManager] Add SofaGLFW and SofaImgui at runtime → need more time to review. Review requested from the consortium
- #380 [GUIManager] Add SofaGLFW and SofaImgui → need more time to review. Review requested from the consortium
- #379 [Environment] Use standard python paths → ready
- #376 [all] Fix warnings → Changes requested
- #375 [Environment] Fix test for plugins envvars → ready
- #372 [CI] Update ci.yml → Question if the PR is still relevent?
- #352 [doc] Rebuild the sphinx documentation for SofaPython3 → WIP because of merge problems. @hugo BACK TO WORK!!!
- #4341 [ODESolver.Backward] Convert double to SReal in NewmarkImplicitSolver →
- #4338 [Haption] Partially fix the plugin →
- #4334 [Core] POC introduction of iterators on scene graph → compilation failing but the feature seems interesting
- #4333 [Core] Refactor VMultiOpEntry → compilation failing but the feature seems interesting
- #4330 [image] image_gui to compile with Qt6 → ready. Consider using Qt6 on the CI
- #4328 [Simulation.Core] Remove usage of ill-used nodeData in MechanicalGetNonDiagonalMassesCountVisitor and MechanicalVDotVisitor → changes requested: convert SReal to an integer
- #4327 [Simulation.Core] Deprecate LocalStorage feature → ready
- #4326 [SofaAssimp] Fix the FindAssimp.cmake → wait for new builders
- #4325 [ODESolver] Fix compilation with SOFA_NO_VMULTIOP → ready
- #4324 [All] Changed message for scene check → Conflicts, and the base PR must be merged first
- #4316 [SofaSPHFluid] Investigate CI failing regression → Still in WIP
- #4309 [Constraint.Projective] Implement applyConstraint from new matrix assembly API → Depreciation requested
- #4303 [image] Merge CImgPlugin into image → discussion on the CImg dependency. Should we move the dependency out of SOFA instead of hosting the source code?
- #4302 [Constraint] Make name of constraints more explicit → Still WIP
- #4301 [SolidMechanics] Implement buildStiffnessMatrix for PolynomialSpringsFF → ready
- #4296 [Type] Refactor Vec → ready. Another PR is requested to restore some performances on matrices
- #4268 [GitHub] Add a python-based action managing discussions → postponed
- #4266 [all] Externalize metis → wait for new builders
- #4240 [all] Replace tinyxml by external tinyxml2 → wait for new builders
- #4205 [Lagrangian.Correction] Add callbacks to check zero compliance → Still need more information in the rigid case using zero compliance
- #4270 [All] ColorMap uses RGBAColor
- #4263 [Type] RGBAColor: remove inheritance from type::fixed_array and use std::array to store its components
- #4304 [SolidMechanics.Springs] Cleaning of QuadularBendingSprings
- #4332 [FEM.Elastic] Reference instead of a copy in TriangularFEMForceField
- #4291 [all] Fix warnings
- #4295 [SolidMechanics.Spring] Implement buildStiffnessMatrix for TriangularBendingSprings
- #4322 [All] Changed default plugins
- SOFA consortium will make a demo at Inria's Programme santé numérique on Dec 6th (Paris Santé Campus)
- Preparation of the agenda 2024
- SOFA integration into 3D Slicer: ongoing discussion with core developer team. Better define what is targeted as an integration. → We must be careful of the boundaries of such integration to insure that it stays stable (only projective, only volumetric mesh etc...). Mays also be used for visualization or registration.
- Question on Jenkins maintenance on Inria's side. They question the use of it given their gitlab solution, but it is not a solution for us because we need to stay on github. May require at some point to only rely on github actions.
- Metis compilation for windows : maybe compile/use both version 64/32 regarding the
SReal
type - SolidTypes : includes several pieces of codes like Frame, Transform
- #4320 [Collections] Remove reference to non-existing SofaSimulation → ready
- #4319 [SofaCUDA] FIX compilation SofaCUDA along with SparseGrid with Cuda12 → ready
- #4317 [LinearSystem] Speedup computation of Jacobian matrices When there are interaction forcefields, those forces can be applied to multiples mechanical states. But when there isn't multiple mechanical state, the jacobean computation can be speedup by not computing the same jacobean twice. Other optimization will come in the future (particularly for MOR). → ready
- #4314 [Core] Minor clean of DefaultAnimationLoop Cleaning codes that were factorized from the AnimateVisitor but implementing useless Lagrange constraints in the DefaultAnimationLoop → ready
- #4302 [Constraint] Make name of constraints more explicit Changes were not taken into account and this will be done further to v23.12 → wip
-
#4301 [SolidMechanics] Implement buildStiffnessMatrix for PolynomialSpringsFF
Change timer name, possibly change
m_dimension
toDeriv::total_size
and update license header → then ready - #4296 [Type] Refactor Vec → wait for #4270
- #4295 [SolidMechanics.Spring] Implement buildStiffnessMatrix for TriangularBendingSprings → ready for 24.06
- #4294 [Sofa/MechanicalLoad/TrianglePressureForceField] Add buildStiffnessMatrix to TrianglePressureForceField Comments not taken into account → back to wip
- #4291 [all] Fix warnings Revert change of data nbThread to keep it as int to handle negative values (corresponding to the number of cores minus this value) → wip
- #4290 [Sofa.GUI.Qt] Add cmake module for QGLViewer → ready
- #4270 [All] ColorMap uses RGBAColor → wait for #4263
- #4263 [Type] RGBAColor: remove inheritance from type::fixed_array and use std::array to store its components → ready for 24.06
- #4205 [Lagrangian.Correction] Add callbacks to check zero compliance Ask for information about zero compliance in rigid case → keep to review
- #4308 [GUI.Qt] Minor single-line cleaning
- #4258 [LinearSolver] Remove CSparse-based linear solvers
- #4293 [LinearAlgera, Core] Fix linking with LTO on MacOS/Clang
- Feedback from SOFA Week 2023 & STC #16
- Awards:
- Ask for last release compatibility or a demo video
- Ask for some slide upon inscription to have some insights on what it does
- Add a "level of expertise" rating for the jury, for each contribution, to ponderate the grade.
- Symposium:
- Be more strict on registration timeline and abstract review to guaranty quality
- Last minute registration for presentation will not be allowed anymore (add dead line for pres inscription)
- Have more break time to talk and see the booths
- Add timer to keep a hand on the clock
- Have a last organized drink on site after the conference to debrief and cool down a bit (instead of more break time)
- STC:
- No question when presenting to keep the clock
- For last six month maybe keep the presentation for the consortium --> only presentation of the next six months
- Prepare and identify a bit more the roadmap subject to clearly define the person in charge of the roadmap
- The sprint time is maybe not sound because of the lack of good dev tool (laptop), we cannot really make ground changing PRs. May be good to define more doable issue beforehand. It should maybe stay a place for discussion of technical subject, to be well defined (e.g. conda package)
- Awards:
- Late June 2024: Deformation in Robotics Summer School
- Finalize discussion on SOFA Conda packages
- The following division has been agreed upon:
- sofa-core (including the core that we said + the batch runSofa)
- sofa-python3 (+ stlib)
- sofa-beamadapter
- sofa-modelorderreduction
- sofa-softrobots (direct and inverse robotics)
- sofa-cosserat
- sofa-gl
- sofa-gui-qt
- sofa-gui-glfw (glfw + imgui) --> not prioritary
- sofa-advanced (with all the rest) --> not prioritary
- In SOFA.Gui a part of the code includes component/common which could be part of sofa-core
- The following division has been agreed upon:
- Regression tests should be fixed
- BeamAdapter:
- SPHFluid: references should be updated
-
#4302 [Constraint] Make name of constraints more explicit
Discuss on InteractionLagrangian with hugo and remove all the ProjectTo on projective constraints. Add info on the name changing in dedicated file
Sofa/framework/Helper/src/sofa/helper/ComponentChange.cpp
. → wip - #4301 [SolidMechanics] Implement buildStiffnessMatrix for PolynomialSpringsFF Launch test to check regression → then ready
- #4296 [Type] Refactor Vec Wait for rebase, tests and full build → keep to review
-
#4295 [SolidMechanics.Spring] Implement buildStiffnessMatrix for TriangularBendingSprings
Use of the
AsyncSparseLDLSolver
prevents this scene to be used as a regression but highlights the use of this asynchronous direct solver → ready -
#4294 [Sofa/MechanicalLoad/TrianglePressureForceField] Add buildStiffnessMatrix to TrianglePressureForceField
Discrepancy between disabling and deprecating. The PR could be split in two: add the
buildStiffnessMatrix
and deprecated the data for non-constant forces (this latter topic should re-discussed) → wip - #4291 [all] Fix warnings Check scene errors → wip
- #4290 [Sofa.GUI.Qt] Add cmake module for QGLViewer Plugin image fails, investigate qt.config or cmake.in → wip
- #4270 [All] ColorMap uses RGBAColor Propagate consistency, CI says ok. → wait for #4263 ready
- #4263 [Type] RGBAColor: remove inheritance from type::fixed_array and use std::array to store its compRGBAColoronents → ready
-
#4258 [LinearSolver] Remove CSparse-based linear solvers
Unit test are failing, probably due to the mis-use of
ci-depends-on
. CMake version in the plugin should be updated → waiting for tests, then ready
None (too busy discussing at the Technical Committee)
❌ No meeting due to the SOFA Week 2023!
- 🚨🚨🚨 Last week before the SOFA Week 2023🚨🚨🚨
- Agenda of the SOFA Technical Committee #16 will be presented
- Next July 2024: Deformation in Robotics Summer School
- Use of vcpkg or conan for external libraries (or simple compilation for the CI)
- one or the other is more of a guess
- common work (between olivier and the consortium) will append after the sofa week to speed up the release of the ne ci environement and the binaries
- #4274 [SofaCUDA] Dont use both version of cublas (legacy or v2) → ready
- #4270 [All] ColorMap uses RGBAColor → wait for #4263 and ready
- #4268 [GitHub] Add a python-based action managing discussions Test it internally → then ready
-
#4266 [all] Externalize metis
The metis package available on conda is built without the
GKRAND
option which improves the results. So it would require to install it differently, which apparently does not garantee to have the same results. May be fixed by using a mechanism of the typefind or fetch
but compatible with CMake 3.22 (same as what is done for cxxopt). But this will work only if there is one plugin dependent to metis. Eigen could be a source of inspiration → keep still to review - #4263 [Type] RGBAColor: remove inheritance from type::fixed_array and use std::array to store its components The PR lacks some features previously enabled by the fact that it inherited from fixed-array. Those features can be added later if needed (such as multiplication or division by a scalar). Update lifecycle versions and reply to reviews. → then ready
- #4258 [LinearSolver] Remove CSparse-based linear solvers Solver replaced with the Eigen LLT. Save the previous scenes in the new plugin. → wip
- #4257 [all] Externalize nlohmann_json dependency with find or fetch mechanism Without the find or fetch mechanism (replaced by a find_package + package manager), it may not make sense anymore → close
- #4240 [all] Replace tinyxml by external tinyxml2 Wait for new CI builders → keep still to review
- #4205 [Lagrangian.Correction] Add callbacks to check zero compliance Factorize the boiler plate code in traits (sofa::type). In rigid cases, is this normal to have zero compliance? → wip
- #4273 [all] Externalize cxxopts
- #4279 [Topology.Mapping] SimpleTesselatedHexaTopologicalMapping: use correct type for Index
- #4267 [github] Fix name of PR author in GitHub workflows
- #4259 [Helper] ADD option to cmake for advanced timer
- #4251 [Type, Helper] Remove unused __STL_MEMBER_TEMPLATES parts
- #4272 [all] Fix headeronly extlibs licenses
- #4269 [FEM, Mapping] dont mix type::fixed_array and type::Vec
❌ No meeting due to the feast of All Saints (French day off). See you next week for the last SOFA dev meeting before the SOFA Week 2023!
- 🚨🚨 3 weeks before the SOFA Week 2023🚨🚨 Register and join the force ⚡
- Training session on ModelOrderReduction plugin took place. Request your own anytime!
- Next sessions will be held on webex https://www.sofa-framework.org/sofa-dev-meeting
- MacOS releases for 23.06 has been generated!
- Some installation isssues
- SOFA on MacOS due to Apple certificate
- Caribou: Paul will propose an install script
- Roadmap of the conda package
- new versions of libraries are needed (e.g. tinyxml)
- this needs the
find_or_fetch
feature, therefore an upgrade CMake >= 3.24 -> wait for the 23.12 release, which should be performed as soon as possible early December - csparse: we said il last meeting that it could be totally take out of the core. Alexandre will deal with it.
- Json dependency on AdvancedTimer (header only): make it
find_or_fetch
or remove it? Olivier already made a PR implementing this mechanism but we could remove it totally for the next release - add a mechanism making this
find_or_fetch
mechanism optional
- Sort issues in preparation of STC#16
- On the timers we want to add CMake option to have the choice between:
- No time
- Tracy
- Advanced timer
- Tracy + advanced
- #4256 [example] Speedup TorusFall with parallel inverse product → ready
- #4255 [LinearSolver] Implement parallel inverse product for all linear solvers Sometimes SparseLDL is more efficient sometime it's eigen. Need some try to know which one is the best one. May impact the CUDA solvers for Hadrien. → ready
- #4253 [LinearAlgebra] Support 6x6 matrices accumulation in BaseMatrix Add issue to deprecate the MatrixX typedef and replace in all the code → ready
- #4251 [Type, Helper] Remove unused __STL_MEMBER_TEMPLATES parts → ready
- #4248 [LinearAlgebra] Speedup accumulation on BTDMatrix Tested by Fred and there is indeed a speedup on Windows but stangely not on Ubuntu. → ready
-
#4242 [Topology] Check indices out-of-bound in TriangleSetTopologyContainer
Maybe the problem is wrongly identified. This may be due to using a wrong component to construct the SubsetTopology. May be fixed by using a
SubsetTopologicalMapping
. → keep to review - #4205 [Lagrangian.Correction] Add callbacks to check zero compliance Ci scene tests still don't work, investigate why. → wip
- #4236 [LinearAlgebra] Robustify accesses to empty matrices
- #4247 [MatrixAccumulator] adds 6x6 matrix handling
- #4244 [all] Remove TODO.md
- #4245 [all] Add the folder sofa-launcher to the resources component
- #4238 [all] Fix warnings
- 🚨 Less than a month before the SOFA Week 2023🚨 Make sure you registered!!!
- Felix Vanneste is back in the Defrost team to work on the ModelOrderReduction plugin
- Next sessions will be held on webex https://www.sofa-framework.org/sofa-dev-meeting
- The configuration/version of the OS and associated librairies should be updated on the CI : the default rule is use the current ubuntu ditribution version (the one shipped with apt). But the version can be upgraded locally when required and not breaking
- Future requiremnt will be CMake >= 3.24
- Update to a new version of MSVC 2022
- This will be widely discussed at the STC#16
- Regression plugin failed running scene from external plugins due to path issues (e.g. BeamAdapter will failed as long as this is not fixed)
- CI minimal configuration should now include the Multithreading plugin
- New SOFA main scene has been presented by Paul: now optimizing it
- A bit disapointing in term of perf regarding the number of object. May be good to show the number of constraints in real time and/or show mor objects (little logos)
- May require to ship BeamAdapter with SOFA
- Paul will release his plugin contining the scene
- Alexandre attempted to assemble matrices faster and shared his feedback
- Mechanical contribution to a matrix a done in two steps : computation then assembling (insertion in non-neglectible in term of computation time)
- The idea was to do the insertion in a dedicated asynchronous thread → forced to add an intermediate queue to store local contribution and insert in a lock-free way
- Contribution computation is sped up with this but the queue reading (depilation) takes a lot of time leading to no speed up at all
- #4242 [Topology] Check indices out-of-bound in TriangleSetTopologyContainer The test is of interest. But the resulting behavior should be changed. It would require to put the component state to invalid ? Wait for Erik expertise. → keep to review
- #4240 [all] Replace tinyxml by external tinyxml2 Need the find or fetch mechanism otherwise the PR will not work on the CI. → wip
- #4238 [all] Fix warnings Change C-style cast into C++ cast (narrow_cast) than ready → keep to review
-
#4236 [LinearAlgebra] Robustify accesses to empty matrices
Paul will test the perf, else use
isInvalid
then ready → keep to review - #4234 [Mapping] add scale to rigid mapping to scale the initial mapping Change too specific (done as an example for a user), PR will be closed → closed
- #4194 [Geometry] Update method intersectionWithEdge signature and redirect all methods to it in EdgeSetGeometryAlgorithms Scene test failing, Erik is notified → wip
- #4213 [Constraint.Lagrangian.Solver] Another step to factorize both constraint solvers
- #4237 [all] Forgotten scoped timers
- #4235 [Helper] Update ComponentChange for MechanicalMatrixMapper
- #4227 [SofaCUDA] Move cuda GUI dependent code
- #4220 [LinearSolver.Direct] Better distribution of tasks among threads
- Are you already registered? SOFA Week 2023 registration is compulsory to join us in Paris
- Now a merge option in PR on GitHub More rigorous and avoids problems with master. We need to do it in order to not do it multiple times. Always merge master on the branch and not rebase: don't lose the history. If this system becomes too blocking in terme of testing, consider modifying the CI (remove master compilation and only relly on the nightly build because each commit on the master branch will be tested before the merge) ?
-
#4221 Use of embedded external dependencies
Conda integration : Request to clean up external SOFA dependencies linked statically.
For header only libraries -> find or fetch mechanism (if not present in the environmenet, its sources are fetched and compiled by us)
For static libraries -> make them shared
Cas particuliers:
- New mat : take out the plugin to make it stand-alone, so as not to lose the work but no longer include it.
- miniFlowVR : also to take out
- json nlohmann : in the long term remove this dependency
- Tiny xml : find or fetch (in the long term isolate the feature and 'find or deactivates')
- cspare : sparseLDL implements nearly everything it uses -> no real dependency on cspare. But other lesser-used objects depend on it, and we could take them out.
- Metis : no need to worry about 'finding or fetching' as the embedded version is up to date.
- Regression tests on windows are not launching but it will be fixed quickly.
- #4227 [SofaCUDA] Move cuda GUI dependent code Strange to have to look for cspare because it is shiped with CUDA. → ready
- #4226 [DetectionOutput] New: added barycentric coords Provide an example/context (plugin using it) of use to see the interest of the contribution. Still alot to do to integrate it in a mor standardized way to be more generic regarding the type of element. Would need unit tests. → wip
- #4220 [LinearSolver.Direct] Better distribution of tasks among threads → ready
- #4219 [CollisionModel] New: added collision layer property Provide an example/context (plugin using it) of use to see the interest of the contribution. See how he handles differences in groupe/layers. This might remplace the group mechanism but would require to be able to have have multiple layers. Add unit tests → wip
- #4213 [Constraint.Lagrangian.Solver] Another step to factorize both constraint solvers Factorise code between GenericConstraintSolver and LCPConstraintSolver. LCP is important to keep because it converges more quickly and is a bit faster for only unilateral constraints. Test performances then ready → keep to review
- #4205 [Lagrangian.Correction] Add callbacks to check zero compliance Take changes into account → wip
- #4194 [Geometry] Update method intersectionWithEdge signature and redirect all methods to it in EdgeSetGeometryAlgorithms Fix compilation then ready → wip
- #4210 [all] Fix mismatch on explicit template instantiations
- #4190 [Topology.Container] Update and rename methods in EdgeSetGeometryAlgorithms to compute barycentric coordinates
- #4198 [GUI.Qt] Fix libQGLViewer cmake install
- #4168 [BatchGUI] Show progress bar
- #4180 [LinearSolver.Direct] SparseLDL: Fix crash in addJMInvJtLocal
- #4172 [LinearSystem] Assemble non-mapped and mapped matrices in parallel
- #4158 [LinearSystem] Introduce constant sparsity matrix assembly
- #4138 [MultiThreading] Introduce parallel CG
- #4192 [Topology.Container] Remove method writeMSHfile in GeometryAlgorithms components
- #4195 [Constraint.Lagrangian.Solver] GenericConstraintSolver: avoid repeated allocation in loops
- #4133 [Core] Store default value in a Data
- SOFA Week 2023: first registered participants are here, book your seats!
- Enjoy the new plugin lists online: https://www.sofa-framework.org/applications/plugins/
- You like checking performances? Discover Alex's integration of Tracy
- Topological changes: current implementation by InfinyTech3D (higher level like: split a triangle in 2, split a triangle in 3)
- **SetGeometryAlgorithms: are the only components accessing both the topology and the dofs. It already implements several topological methods
- an additional folder will be added in
Sofa.Component.Topology.Container.Dynamic
including all these files/header
- Conda package update:
- Full review received on the PR on conda-forge: management of linking with static libraries, all external projects not header-only should be used through associated conda packages
- restore the linux support: solved!
- MacOS failure:
Fatal Python error: PyMUTEX_LOCK(gil->mutex) failed
- Sort STC#16 labels
- CI: set up a new Ubuntu v22.04 LTS builder. Question came about the library versions: homogeneize all versions Linux/Mac/Windows
- #4213 [Constraint.Lagrangian.Solver] Another step to factorize both constraint solvers Need more time to review the code → keep to review
- #4210 [all] Fix mismatch on explicit template instantiations → ready
- #4205 [Lagrangian.Correction] Add callbacks to check zero compliance Suggestion to take into account, then ready → keep to review
- #4198 [GUI.Qt] Fix libQGLViewer cmake install Wait for the MacOS CI → keep to review
- #4195 [Constraint.Lagrangian.Solver] GenericConstraintSolver: avoid repeated allocation in loops → ready
- #4194 [Geometry] Update method intersectionWithEdge signature and redirect all methods to it in EdgeSetGeometryAlgorithms Suggested changes applied but now compilation fails. The PR rised quesiton about the Equality threashold that is currently globally set and should be related to the scene size. To be discussed during the STC. Revert suggestion. → wip
- #4192 [Topology.Container] Remove method writeMSHfile in GeometryAlgorithms components → ready
- #4190 [Topology.Container] Update and rename methods in EdgeSetGeometryAlgorithms to compute barycentric coordinates Test CI MacOS then ready → ready
- #4172 [LinearSystem] Assemble non-mapped and mapped matrices in parallel → ready
- #4168 [BatchGUI] Show progress bar Reviews taken into account. Let's test it on MacOS and check the output on the CI. Then ready → ready
- #4163 [all] Deprecates the hard coded interactions in components Agreement that interactions should not be in any component but only in controllers. Controllers should be implemented to keep the desired features. Work on the transition / lifecycle. This last element is missing and should be implemented, then ready → wip
- #4158 [LinearSystem] Introduce constant sparsity matrix assembly Special cases of use will be trated correspondly when necessary → ready
- #4133 [Core] Store default value in a Data Changes taken into account → ready
- #4187 [examples] Fix warning of UncoupledCC in caduceus
- #4203 [all] Replace ScopedAdvancedTimers by macros
- #4177 [all] Generalize the usage of ScopedAdvancedTimer
- #4182 [Config] Integrate Tracy profiler
- SOFA Week 2023: first registered participants are here, book your seats!
- New plugin for ViscoElasticity is now available!
- Update regarding SofaCUDA plugins: GPU thesis plugins are now open. Would be interesting to compare it to the Defrost SofaCUDALinearSolver
- HPC seminar at Inria (CR available here)
- Scotch: package for graph and mesh/hypergraph partitioning, graph clustering, and sparse matrix ordering
- SolverStack: HPC linear algebra solver stack
- MoReFem: high-performance scientific computing library for numerical simulation of multi-physical phenomena, based on the PETSc linear algebra library
- Revive the Pardiso plugin. Problem : it is not portable and the license is not open. It has been integrated to Intel MKL library, maybe create a plugin on this library for SOFA?
-
#4187 [examples] Fix warning of UncoupledCC in caduceus
Understand how the
defaultCompliance
data is used. A new PR should be open to filter zero values indefaultCompliance
orcompliance
(issue #4202) → keep to review - #4182 [Config] Integrate Tracy profiler Possible integration of Tracy in ImGUI (an issue is created #4200 to discuss at STC#16). → ready
- #4180 [LinearSolver.Direct] SparseLDL: Fix crash in addJMInvJtLocal A more global discussion could be about questioning the use of sofa::vectors vs the std version and lighten our implementation. Else ready. → ready
- #4179 [LinearAlgebra] Fix segfault when accessing and empty CSR matrix (through iterators) Alex wants to go through it more deeply to really indentify the problem. → wip
-
#4177 [all] Generalize the usage of ScopedAdvancedTimer
Issue created #4199 on the
valSet
problem then merge. → ready -
#4172 [LinearSystem] Assemble non-mapped and mapped matrices in parallel
A question arised on the default behavior: should it be monothread or multithreaded by default. It has been decided to leave it monothreaded to avoid any result consistency and complete the Multithread dedicated documentation page. Update the
d_parallelAssemblyIndependentMatrices
default value → keep to review -
#4168 [BatchGUI] Show progress bar
Interesting and usefull : require to test the scene tests with the pr to see the behavior of the logs with this output. Update the license requirements for the 'indicators.hpp'. Allow to hide the progress bar. One failing test with
runSofa -n infinite
→ keep to review - #4163 [all] Deprecates the hard coded interactions in components This PR removes important mechanism without giving an alternative (recoding a controller). It is necessary to provide those controler to keep the features or remove these components from the PR. An issue will be created regarding the mesh exporter/loader standardization → keep to review
- #4158 [LinearSystem] Introduce constant sparsity matrix assembly Unitary tests are fixed. Only meaningfull for compressed models. Need one test with needle insertion then merge → keep to review
- #4138 [MultiThreading] Introduce parallel CG Investigate the timeout. Rebase with the PR reducing logs of Fred, see if this changes something → keep to review
- #4189 [LinearSystem] MatrixLinearSystem: add registration in the factory for BTDMatrix6
- #4191 [Config] CMake: Dont check for IPO at every configure step
- #4193 [SofaCarving] Fix warnings in SofaCarving_test due to use of deprecated methods
- #4185 [Constraint.Lagrangian.Solver] Clean both constraint solvers
- #4184 [Scene] Eigen3-SVD.scn: disable printLog
- #4160 [all] Use SimulationInitDoneEvent instead of AnimateBeginEvent
- #4046 [MechanicalLoad] Use prefix d_ in DiagonalVelocityDampingForceField
- #4151 [Mass] Fix UniformMass vertexMass value should not be set to 0 if nbr of points reach 0
- #4170 [Constraint.Lagrangian.Solver] LCPConstraintSolver: remove useless computation if printLog is enabled
- SOFA Week 2023: first registered participants are here, book your seats!
- New plugin for ViscoElasticity is now available!
- Update regarding SofaCUDA plugins: GPU thesis plugins are now open. Would be interesting to compare it to the Defrost SofaCUDALinearSolver
- HPC seminar at Inria (CR available here)
- Scotch: package for graph and mesh/hypergraph partitioning, graph clustering, and sparse matrix ordering
- SolverStack: HPC linear algebra solver stack
- MoReFem: high-performance scientific computing library for numerical simulation of multi-physical phenomena, based on the PETSc linear algebra library
- Revive the Pardiso plugin. Problem : it is not portable and the license is not open. It has been integrated to Intel MKL library, maybe create a plugin on this library for SOFA?
-
#4187 [examples] Fix warning of UncoupledCC in caduceus
Understand how the
defaultCompliance
data is used. And filter zero values. → keep to review - #4182 [Config] Integrate Tracy profiler Possible integration of Tracy in ImGUI (an issue is created #4200 to discuss at STC#16). → ready
- #4180 [LinearSolver.Direct] SparseLDL: Fix crash in addJMInvJtLocal A more global discussion could be about questioning the use of sofa::vectors vs the std version and lighten our implementation. Else ready. → ready
- #4179 [LinearAlgebra] Fix segfault when accessing and empty CSR matrix (through iterators) Alex wants to go through it more deeply to really indentify the problem. → wip
-
#4177 [all] Generalize the usage of ScopedAdvancedTimer
Issue created #4199 on the
valSet
problem then merge. → ready -
#4172 [LinearSystem] Assemble non-mapped and mapped matrices in parallel
A question arised on the default behavior: should it be monothread or multithreaded by default. It has been decided to leave it monothreaded to avoid any result consistency and complete the Multithread dedicated documentation page. Update the
d_parallelAssemblyIndependentMatrices
default value → keep to review -
#4168 [BatchGUI] Show progress bar
Interesting and usefull : require to test the scene tests with the pr to see the behavior of the logs with this output. Update the license requirements for the 'indicators.hpp'. Allow to hide the progress bar. One failing test with
runSofa -n infinite
→ keep to review - #4163 [all] Deprecates the hard coded interactions in components This PR removes important mechanism without giving an alternative (recoding a controller). It is necessary to provide those controler to keep the features or remove these components from the PR. An issue will be created regarding the mesh exporter/loader standardization → keep to review
- #4158 [LinearSystem] Introduce constant sparsity matrix assembly Unitary tests are fixed. Only meaningfull for compressed models. Need one test with needle insertion then merge → keep to review
- #4138 [MultiThreading] Introduce parallel CG Investigate the timeout. Rebase with the PR reducing logs of Fred, see if this changes something → keep to review
- #4189 [LinearSystem] MatrixLinearSystem: add registration in the factory for BTDMatrix6
- #4191 [Config] CMake: Dont check for IPO at every configure step
- #4193 [SofaCarving] Fix warnings in SofaCarving_test due to use of deprecated methods
- #4185 [Constraint.Lagrangian.Solver] Clean both constraint solvers
- #4184 [Scene] Eigen3-SVD.scn: disable printLog
- #4160 [all] Use SimulationInitDoneEvent instead of AnimateBeginEvent
- #4046 [MechanicalLoad] Use prefix d_ in DiagonalVelocityDampingForceField
- #4151 [Mass] Fix UniformMass vertexMass value should not be set to 0 if nbr of points reach 0
- #4170 [Constraint.Lagrangian.Solver] LCPConstraintSolver: remove useless computation if printLog is enabled
- SOFA Week 2023: first registered participants are here, book your seats!
- SoftRobots.Inverse plugin is now open-source!
- Vladimir Poliakov working on a training simulator for hysteroscopy. He implemented an asynchronous GUI with adaptive time step (with a maximum garanteeing the simulation stability). Vladimir will soon be leaving back in KU Leuven, feel free to take a look at filosofia and the coupling with filament. Parallel of simulation and rendering logically shows better performances than runSofa, this is something we could get inspired from. Vladimir will soon make his pending changes in SOFA as PRs.
- Rising interest in SOFAGLFW+ImGui which could/should replace runSofa. Modularization of ImGui would be a plus
- Scene tests run all examples even in plugins and when multithreading is involved, many timeouts occur
- Prefabs should be deeply rediscussed
- SOFA Vedo : have a visualization tool for python. Robin should discuss with Samuel to evaluate the need of this feature.
- Profiler Tracy #4182 -> nice tool for profiling execution with good insights. (see pr review)
- #4182 [Config] Integrate Tracy profiler Presentation done by Alex with a multithreaded example. Each ScopedTimer is replaced by a macro and is visible in the profiler. Tracy needs to be launched first as a server, then runSofa as a client. Test must still be conducted whether Tracy affects the performances. We should be able to remove completely timers.
- #4179 [LinearAlgebra] Fix segfault when accessing and empty CSR matrix (through iterators) An alternative change should be made to ensure that iterator begin = end when the structure is empty, assess performances and add a test to avoid reproducing the issue → wip (keep to review)
- #4158 [LinearSystem] Introduce constant sparsity matrix assembly PR to be tested on different use case (needle insertion, beams) + to be reviewed. → keep to review
- #4151 [Mass] Fix UniformMass vertexMass value should not be set to 0 if nbr of points reach 0 → ready
- #4138 [MultiThreading] Introduce parallel CG A lot of timeouts. Test with freshly rebooted VM and see if the timeouts are caused by the vm itself or the pr. → keep to review
- #4046 [MechanicalLoad] Use prefix d_ in DiagonalVelocityDampingForceField → wait for CI then ready
- #4144 [Constraint.Projective] Implement applyConstraint in LinearMovementConstraint
- #4075 [all] Remove some simple uses of bwdInit()
- #4181 [Helper] Fix warning in MeshTopologyLoader.cpp
- #4164 [Topology.Grid] Fix SparseGridTopology and SparseGridRamificationTopology crash at init if mesh file is not found
- #4165 [Topology] Rename Edge::pointBaryCoefs into Edge::getBarycentricCoordinates
- #4171 [GitHub] filter action if not on sofa-framework repository
- #4142 [Sofa.GL] Fix doDrawVisual for OglLabel
- SOFA Week 2023: first registered participants are here, book your seats!
- Final version of the SofaPython3 documentation is now online!
- New open-source plugin for Design Optimization
- CI MacOS still down
- New Ubuntu CI : 22.04
- Release of GPU codes: discussion incoming to sort codes
- Investigate Jenkins configuration options (minimal/standard/full): CMakePreset.json could be used
- #4160 [all] Use SimulationInitDoneEvent instead of AnimateBeginEvent Unit tests failing → wip
- #4138 [MultiThreading] Introduce parallel CG Performance issues noticed by Paul, now fixed by Alex. To be tested again. A regression test should be added to make sure that the single- and multi-threaded give the same results (make sure it is active, and maybe activated by default) → keep to review
- #4075 [all] Remove some simple uses of bwdInit() #4160 uses the event to expert at begin. Conflict to solve and unit test failing. → wip
- #4046 [MechanicalLoad] Use prefix d_ in DiagonalVelocityDampingForceField Reviews to take into account → wip
-
#3938 [Sofa.Core] Implements a template deduction system in the object factory
This PR along with the #3987 implements two possible mechanisms (implicit and explicit) to deduct the template of objects, but outside from
canCreate()
. The static version should be preferred but the other method should be removed. The #3987 should be carefully the one reviewed and tested locally to assess the mechanism. Afterwards, further cleanings oncanCreate()
(for example checks transfered toinit()
) will be reviewed. → keep to review
- #4117 [Constraint.Lagrangian.Solver] Unify lists of constraint corrections into a MultiLink
- #4065 [all] Update code regarding lifecycle in Topology.h
- #4150 [SofaSphFluid] Fix: internal draw method not restoring default parameters
- #4149 [SofaSphFluid] Fix: scenes warnings and failing examples
- #4148 [IO.Mesh.Tests] Reduce number of logs by unactivating printlog
- #4058 [all] Lifecycle v23.12 4/n
- #4132 [Constraint.Lagrangian.Solver] GenericConstraintSolver: use given re-ordered list for unbuilt GS
- #4129 [Constraint.Lagrangian.Solver] Fix default value for computeConstraintForces Data
- #2999 [IO][Tests] Add basic test for the MeshSTLLoader
- #4053 [Geometry] Add methods getBarycentricCoordinates and isPointInTriangle in Triangle class
- #4056 [all] Lifecycle v23.12 3/n
- #4128 [Mass] Add a callback on the lumping data in MMMass
- #4126 [test] Make quaternion test deterministic and portable
- #4116 [MechanicalLoad] Implement buildStiffnessMatrix for TaitSurfacePressureForceField
- #4063 [LinearAlgebra] Fix matrix sizes when filtering
- SOFA Week 2023: a unique occasion to meet all the community, discover live demos and network!
- Final version of the SofaPython3 documentation is now online!
- The community recruits, find out more online!
- Project opened by Alex to compile SOFA compiled Emscripten (compiler toolchain to WebAssembly) and then possibly a rendering engine browser compatible (javascript as well)
- Update about the SOFA conda package by Olivier
- PR #23085 opened on conda forge
- Should be available at the beginning of October
- A tutorial may be provided during the SOFA Week!
- Continuous integration:
- very long nightly builds due to pending macos blocking CI
- this Thursday new infra updates incoming
- Sort out old SOFA GitHub PR
- PRs pending on BeamAdapter
- #4133 [Core] Store default value in a Data May be easier to display the value for every type but the stored value should remain in the original type. Remove the template mechanism and store the default value for every type then ready. → wip
- #4132 [Constraint.Lagrangian.Solver] GenericConstraintSolver: use given re-ordered list for unbuilt GS The speedup may be increased with a simple optim on memory. New pr will be added. Regression fail may be due to difference in the way the convergence criteria is computed. → ready
- #4129 [Constraint.Lagrangian.Solver] Fix default value for computeConstraintForces Data Default = value can be removed. Then ready → ready
- #4128 [Mass] Add a callback on the lumping data in MMMass Changing the value doesn't seem to break the simulation but this is not explicitally supported. It is thus important to tell the user that this is not not possible and pass the mass to invalid -> may crash but it's preferable → ready
- #4126 [test] Make quaternion test deterministic and portable STL cannot be used since they are not portable → ready
- #4117 [Constraint.Lagrangian.Solver] Unify lists of constraint corrections into a MultiLink Investigate the use of DoubleLink : What is the behavior and the usage of this ? Wouldn't be single link enough ? Investigate this then ready. → keep to review
- #4116 [MechanicalLoad] Implement buildStiffnessMatrix for TaitSurfacePressureForceField → ready
- #4075 [all] Remove some simple uses of bwdInit() Further to discussions, an event should be triggered once the initialization is done (init and bwdInit() -> create a new pr to propose a new mechanism for notifying the components that the scene is ready to be run → wip
- #4063 [LinearAlgebra] Fix matrix sizes when filtering Inspecting values in the filtered system matrix, it has been noticed that the size info was incorrect (metadata, even if the matrix data itself were present) → ready
- #4056 [all] Lifecycle v23.12 3/n Wait for the CI then ready → ready
- #4053 [Geometry] Add methods pointBaryCoefs and isPointInTriangle in Triangle class Review done on function naming to make it clear for developers and user "coordinate" → wip
-
#4046 [MechanicalLoad] Use prefix d_ in DiagonalVelocityDampingForceField
C++ union has been removed, now
setParent()
is used. However, if the child variable is changed, the parent (the one used) is not udpated. Discussion concludes that when renaming a data, we should directly remove the old one by using DepreactedAndRemoved type to emit a compilation error (which cannot be ignored!). → wip - #3457 [SofaCarving] Add an example written in python → ready
- #4127 [SolidMechanics.TensorMass] Implement buildStiffnessMatrix for TetrahedralTensorMassForceField
- #4115 [MechanicalLoad] Implement buildStiffnessMatrix for TorsionForceField
- #4079 [GitHub] Action to check labels
- #4048 [Visual] ADD a visualization flag and draw method for NarrowPhaseDetection
- #4040 [all] Lifecycle v23.12 2/n
- #4110 [FEM.HyperElastic] Implement buildStiffnessMatrix for StandardTetrahedralFEMForceField
- #4034 [all] Lifecycle v23.12 1/n
- #4029 [Geometry] Add method intersectionWithEdge in Edge structure
- SOFA Week 2023 in less than 3 months, you can already register!
- SofaPython3 documentation being updated
- access SOFA master nightly build: a change on the CI infrastructure at Inria blocked access to the nightly builds. This is solved, thus restoring the CI for the master branch of external plugins
- SOFA has CMake/plugins multiple configurations: minimal, standard, full (Jenkins). We should work on homogeneizing these configuration for:
- the release (full + plugins)
- the conda package
- and the Plugins page
- Repository site-package python3 for SOFA plugins see MOR #72: can be configured in SofaPython3 plugins but other plugins having bindings do not inherit of this configuration. Using the major.minor version format is fine and this property should be propagated. However, the python path could be added when SOFA binaries get installed (this would be for later)
- #4096 [GitHub] Add an action closing old discussion topics File should be yml and test it → wip
- #4079 [GitHub] Action to check labels Test is failing, check syntax → wip
- #4065 [all] Update code regarding lifecycle in Topology.h PR needs 4058, let's wait for the CI (fedora already compiles fine) → keep to review
- #4063 [LinearAlgebra] Fix matrix sizes when filtering PR is fine but an explanation would enlight us → keep to review
- #4053 [Geometry] Add methods pointBaryCoefs and isPointInTriangle in Triangle class Four tests failing to fix → wip
- #4048 [Visual] ADD a visualization flag and draw method for NarrowPhaseDetection → ready but wait for CI
- #4046 [MechanicalLoad] Use prefix d_ in DiagonalVelocityDampingForceField Union may prevent to use a variable x if you wrote in y which is exactly our case here. Let's use the setParent() on Data. → wip
- #4034 [all] Lifecycle v23.12 1/n → ready but wait for CI
- #4029 [Geometry] Add method intersectionWithEdge in Edge structure Condition in the code is fixed → ready
- #4106 [plugins] Add fetchable ShapeMatchingPlugin
- #4112 [SofaMatrix] Remove CImgPlugin dependency
- #4105 [FEM.Elastic] Implement buildStiffnessMatrix for TriangularFEMForceFieldOptim
- #4081 [GitHub] Action to check PR titles
- #4103 [Tutorials] Update and fix oneTetrahedron tutorial
- #4064 [plugins] Fix OptionGroup deprecated constructor in image and SofaCUDA plugin
- #4120 [Core] VecId: set correct message for the deleted function holonomicC
- #4118 [all] Replace deprecated wbloc function by its new function name
- #4102 [GUI.Qt] Fix crash if filename is null
- #4111 [Helper] Fix wrong function called when writing jpg file
- #4099 [MechanicalLoad] Implement buildStiffnessMatrix for SphereForceField
- #4108 [Constraint.Lagrangian.Correction] Decrease the severity of not finding a file in PrecomputedConstraintCorrection
- #3959 [Simulation.Core] Refactor DefaultAnimationLoop + multithreading
- #4097 [MechanicalLoad] Implement buildStiffnessMatrix in SurfacePressureForceField
- #4098 [MechanicalLoad] Fix plane force field buildStiffnessMatrix
- #4001 [LinearSystem] Optim: Only account for affected DoFs
- New marketplace online: sofa-framework.org/applications/plugins
- Do not forget to early register for the SOFA Week 2023!
- Folder for python site-packages is python3/ but it does not help differentiating the versions, best would be e.g. python3.8.10/site-packages/. A variable allows this in the plugin SofaPython3 but not in plugins. Discussion with Damien for possible explanation, else 👍
- Nightly build of SOFA are working again (branch v23.06 on sofa/ci)
- Close old opened PR on the fly during the week
- SofaPython3 2 PR pending review to be done on the fly during the week
- Issue on SofaGLFW: GitHub action nightly generating releases for master and v23.06. But each nightly add a new set of release. Comparison with Regression to be done and the action in SofaPython3 should be updated to be really nightly.
- #4099 [MechanicalLoad] Implement buildStiffnessMatrix for SphereForceField → ready
- #4098 [MechanicalLoad] Fix plane force field buildStiffnessMatrix → ready
- #4097 [MechanicalLoad] Implement buildStiffnessMatrix in SurfacePressureForceField → ready
- #4075 [all] Remove some simple uses of bwdInit() Take reviews into account → wip
- #4065 [all] Update code regarding lifecycle in Topology.h Waiting for #4058 → keep to review
- #4064 [plugins] Fix OptionGroup deprecated constructor in image and SofaCUDA → ready
- #4063 [LinearAlgebra] Fix matrix sizes when filtering Still a test to be added → wip
- #4048 [Visual] ADD a visualization flag and draw method for NarrowPhaseDetection Fixed test but error on DeprecatedData API, soon fixed → keep to review
-
#4046 [MechanicalLoad] Use prefix d_ in DiagonalVelocityDampingForceField
Ask for explanation on why using
union
would be a problem → keep to review - #4034 [all] Lifecycle v23.12 1/n Revert changes on ComponentChange, split to be done in another PR → wip
- #4029 [Geometry] Add method intersectionWithEdge in Edge structure One condition is the code is incorrect, to be fixed. → wip
-
#4001 [LinearSystem] Optim: Only account for affected DoFs
With the new matrix API visual mappings were computed. With this PR, we get back to previous perf. Note that with this mechanism we should not need anymore the boolean check
isMechanical
in mappings → ready - #3959 [Simulation.Core] Refactor DefaultAnimationLoop + multithreading → ready
-
#3912 [Mass] Deprecate and make DiagonalMass inherit from MeshMatrixMass
In
parse()
of a specialized class DiagonalMass : warning for user + deprecation for devs. Add callback on lumping to warn user. → wip
- #366 Binding to setup task scheduler (nb threads) #366 Comment done for formatting else OK → wip then ready
- #4094 [MechanicalLoad] Fix compilation further to new RemovedData constructor
- #4059 [all] Add dates for user deprecation classes RemovedData and DeprecatedData
- #4019 [MechanicalLoad] Remove the data force in ConstantFF and solves circular dependency
- Still many devs in vacations! Getting tanned for the SOFA Week 2023
- #4059 [all] Add dates for user deprecation classes RemovedData and DeprecatedData → ready
- #4048 [Visual] ADD a visualization flag and draw method for NarrowPhaseDetection Unit test failing due to the increased number of visual flag → wip
- #4034 [all] Lifecycle v23.12 1/n Object at compilation are considered as too large. Either we clean the ComponentChange file or we split it into several files. To be discussed with more → keep to review
- #4029 [Geometry] Add method intersectionWithEdge in Edge structure Test Edge_test.cpp was failing. Fixed by fredroy, waiting for CI then ready → keep to review
- #4028 [Geometry] Add method isPointOnEdge in Edge structure All changes taken into account → ready
- #4019 [MechanicalLoad] Remove the data force in ConstantFF and solves circular dependency → ready
- #4001 [LinearSystem] Optim: Only account for affected DoFs Approved by reviewers, waiting for the author to get back → keep to review, ready to be merged
- #3959 [Simulation.Core] Refactor DefaultAnimationLoop + multithreading It seems strange that the factorization of the mapping propagation at the end of the time step makes the scene crashes, to be discussed further. → keep to review
- #4057 [all] Clean unused warnings in SOFA
- #4045 [Core] Make doDrawVisual final
- #4041 [GUI.Qt] Remove unused recorder feature
- #4027 [FEM] Add option to compute principal stress direction in TriangularFEMForceFieldOptim
- #4005 [MechanicalLoad] Implement buildStiffnessMatrix in EllipsoidForceField
- #3991 [FEM.Linear] Implement buildStiffnessMatrix and addKToMatrix for TriangularFEMForceField
- #3986 [LinearSolver.Direct] Parallelization of H A^-1 H^T in SparseLDLSolver
- #3945 [all] Unify how Animation/Visual loops are handling their "targetNode"
- #3924 [MechanicalLoad] Replace doUpdateInternal by callback: ConstantFF
- SOFA Week 2023 : registrations are now open!!
- Training sessions are open for august and september, register now !
- It's summer times, the SOFA community will slow down the two first weeks of August. Enjoy your summer and see you in the second half of August!
-
[Core] Unification of addDForce and buildStiffnessMatrix (#4010) This is resulting from the matrix refactoring (#2777). The idea was to unify the two metyhod by always using the build matrix method instead of addDforce. This makes the unbuilt version slower (especially for corotationnal). → The idea is to use this unification to make the addDForce override optional but warn the user that the unbuilt version will be slower and that they should override it if they want the real mechanism.
-
[LinearSystem] Optim: Only account for affected DoFs (#4001) The question was why this PR is accelerating the Caduceus given the fact that it isn't using any penality. → This maybe due to the fact that the matrix building baypass the mechanical flag of the mappings. Filtering the affected dof has thus the side effect to take the flag into account implicitly. It would be better to take the mapping flags into account explicitly.
-
[Lifecycle] On the use of union for data name depreciation (#4046) The use of union to enable the use of old data name could become a norm → Raises a problem with the destructor. It forces the destructor of the class to be defined. Inside of it we need to explicitly tell which data of the union is destroyed (memory leak if not done but is it really an issue ?). This would also imply to remove the destructor at the end of the lifecycle (this could be eased by destructing the deprecated data instead of the new one as a convention to raise ocmpilation errors). The use of this would require to update the doc and be very explicit on what to do regarding the destructor.
- #4045 [Core] Make doDrawVisual final → to review
- #4041 [GUI.Qt] Remove unused recorder feature → ready
- #4040 [all] Lifecycle v23.12 2/n → to review
- #4034 [all] Lifecycle v23.12 1/n No line in ComponentChange should ever be removed to insure that old scene could be easily fixes. Even more because this is practically free for compilation and totaly harmless in run time and maintenance. This should lead to a technical discussion on ComponentChange doc → to review
- #4029 [Geometry] Add method intersectionWithEdge in Edge structure → to review
- #4028 [Geometry] Add method isPointOnEdge in Edge structure → to review
- #4027 [fem] Add option to compute principal stress direction in TriangularFEMForceFieldOptim → ready
- #4019 [MechanicalLoad] Remove the data force in ConstantFF and solves circular dependency Need to fix the output to get the CI to validate the scenes tests → wip
- #4010 [Core] Unification of addDForce and buildStiffnessMatrix → wip (see technical discussions)
- #4005 [MechanicalLoad] Implement buildStiffnessMatrix in EllipsoidForceField → ready
- #3991 [FEM.Linear] Implement buildStiffnessMatrix and addKToMatrix for TriangularFEMForceField Waiting for Erik's review then ready → to review
- #3990 [all] Replace canCreate with init() when approapriate Depends on #3938 so waiting for the discussion → wip
- #3987 [all] Replace canCreate with the getTemplateFromMechanicalState deduction rule Depends on #3938 so waiting for the discussion → wip
- #3986 [LinearSolver.Direct] Parallelization of H A^-1 H^T in SparseLDLSolver Regression test is not rigorous enough, the error is the mean over all nodes but in cases like the benchmark introduced here by Paul, it passes easily for any regression over 10e-7. We whould discuss how to modify the regression test to catch this : infinite norm ? Alex would like to add modification and unitary tests → wip
- #3959 [Simulation.Core] Refactor DefaultAnimationLoop + multithreading Requires an investigation on why the scene in sph is crashing. A PR should be added to try and remove the buildConstraintMatrix step. → scene check + new PR then ready
- #3945 [all] Unify how Animation/Visual loops are handling their "targetNode" → ready
- #3938 [Sofa.Core] Implements a template deduction system in the object factory Discussion to plan with Damien and Alex to talk about this PR → wip
- #3924 [MechanicalLoad] Replace doUpdateInternal by callback: ConstantFF → ready
- #364 Disable MacOS CI build for now. Removing macos ci is not good, we should instead modify the ci to publish the release even when macos is not working → to review
- #362 Follow changes from #3959 → waiting on sofa pr #3959 then ready
- #357 Follow changes from SOFA #3889 → waiting for ci then ready
- #356 [examples] Fix all example warnings and add all files in CMakeLists → ready
- #335 Prevent division by zero → ready
- #4061 [FEM.Elastic] Compute BBox in triangle FEM
- #3278 [Sofa.Core] minor refactoring for Data::read() to move into BaseData the reading code
- #4068 Revert "[Sofa.Core] minor refactoring for Data::read() to move into BaseData the reading code"
- #4067 [all] Fix warnings related to Vec and unused var
- #4062 [FEM.Elastic] Fix typo in error message
- #4060 [LinearSolver.Direct] More details in error message
- #4055 [examples] Introduce falling beam example
- The two first weeks of August will be down for most of the SOFA community! Put the sunglasses on 😎 but do not forget to book the SOFA Week 2023!
- Vladimir PhD student at KU Leuven is visiting: cutting simulation (Harders hybrid cutting approach) and remeshing further to cutting using MMG
- No lifecycle info in RemovedData/DeprecatedData #4043: two additional fields should be added to specify the deprecated date and removal date in both RemovedData/DeprecatedData
- [MechanicalLoad] Implement buildStiffnessMatrix in EllipsoidForceField #4005: clean way to rename a data for developers
- #4029 [Geometry] Add method intersectionWithEdge in Edge structure Test CI along with #4028 → keep to review
- #4028 [Geometry] Add method isPointOnEdge in Edge structure Scenes are crashing on windows using potentially inyersection methods. → investigate the scenes crash and keep to review
- #4027 [fem] Add option to compute principal stress direction in TriangularFEMForceFieldOptim Wait for Alex feedback, else ready → keep to review
-
#4019 [MechanicalLoad] Remove the data force in ConstantFF and solves circular dependency
Several unit tests and scenes tests are failing due to removal of
force
This PR removes theforce
data but it also proposes a new design for the data update : depending on which data is set initially by the user, only the data used at init can be updated. Drawback : a double udpate is always performed → keep to review - #4005 [MechanicalLoad] Implement buildStiffnessMatrix in EllipsoidForceField Validate with Alex about the use of union, else ready → keep to review then ready
- #3991 [FEM.Linear] Implement buildStiffnessMatrix and addKToMatrix for TriangularFEMForceField Review of epernod still ongoin → keep to review
- #3986 [LinearSolver.Direct] Parallelization of H A^-1 H^T in SparseLDLSolver Issue in the demo scene, a point behaves strangely when the contact occurs when using the feature branch. To be investigated → keep to review
- #3983 [FEM.Elastic] Minor refactor of buildStiffnessMatrix in TetrahedronFEMForceField → ready
-
#3959 [Simulation.Core] Refactor DefaultAnimationLoop + multithreading
CI sees apparently twice an error in advancedtimer. Also could be tested to remove
buildConstraintMatrix()
unused in DefaultAnimationLoop → keep to review - #3924 [MechanicalLoad] Replace doUpdateInternal by callback: ConstantFF Review needed. This PR comes along with #4019. → keep to review
- #4025 [GuiQt] Remove some unactivated code
- #3882 [plugin] Add fetchable SoftRobots
- #3981 [FEM.Elastic] Implement buildStiffnessMatrix for TetrahedralCorotationalFEMForceField
- #4047 [plugins] Remove PSL files, add ExternalProjectConfig and update CMakeLists
- #4044 [Core] Fix drawing of Objects when hiding Visual Models
- #4026 [constraint] Update PrecomputedConstraintCorrection logs when loading compliance file
- #3974 [Collision.Response.Contact] Implement buildStiffnessMatrix in PenalityContactForceField
- #4009 [Spring] Implement buildStiffnessMatrix in PolynomialRestShapeSpringsForceField
- #3998 [CHANGELOG] Update further to latest changes in v23.06
- #3942 [Tests] Properly remove exported files
- The SOFA consortium staff moved into a new building in Strasbourg!
- Vladimir PhD student at KU Leuven is visiting the SOFA team for 3 months!
- [Core] Unification of addDForce and buildStiffnessMatrix
-
[LinearSystem] Optim: Only account for affected DoFs
At the matrix assembly, @fredroy noticed that the function
assembledMappedMatrix
-->applytJT()
is called less often thus improving performances. A regression is still present on BeamFEMForceField
- #4026 [constraint] Update PrecomputedConstraintCorrection logs when loading compliance file. Some suggestions done → else ready
- #4025 [GuiQt] Remove some unactivated code Removing code and macro unsused for +15 years. One last macro will be removed, let's do it in this PR! → wip
- #4019 [MechanicalLoad] Remove the data force in ConstantFF and solves circular dependency Last reviews done → wip then ready
- #4010 [Core] Unification of addDForce and buildStiffnessMatrix Looks nice but the transition phase and the PR needs to be further discussed, let's open the discussion next week with Alex !
- #4009 [Spring] Implement buildStiffnessMatrix in PolynomialRestShapeSpringsForceField → ready
- #4005 [MechanicalLoad] Implement buildStiffnessMatrix in EllipsoidForceField Reviews to take into account, macro issue. → wip
- #4000 [SofaCUDA] Implement buildStiffnessMatrix and buildDampingMatrix in TLED → ready
- #3999 [MechanicalLoad] Restore computation of derivatives in DiagonalVelocityDampingForceField Comment done, else the PR is OK → ready
- #3998 [CHANGELOG] Update further to latest changes in v23.06 → ready
- #3990 [all] Replace canCreate with init() when approapriate Wait for #3938 → keep to review
- #3987 [all] Replace canCreate with the getTemplateFromMechaniclState deduction rule. Wait for #3938 → keep to review
- #3986 [LinearSolver.Direct] Parallelization of H A^-1 H^T in SparseLDLSolver Benchmark done by Fred but to do it again, since the feature is active by default. It would be nice to have a scene making sure that both sequential and parallel versions give the same result. → keep to review
-
#3959 [Simulation.Core] Refactor DefaultAnimationLoop + multithreading
Review must be done by all and scenes are crashing (ArticulatedArm.robot.py). In addition the function
buildConstraintMatrix()
could be removed in the DefaultAnimationLoop → keep to review -
#3945 [all] Unify how Animation/Visual loops are handling their "targetNode"
Compilation is failing again:
error: 'gnode' was not declared in this scope; did you mean 'node'?
→ wip - #3942 [Tests] Properly remove exported files → ready
- #3938 [Sofa.Core] Implements a template deduction system in the object factory Pending discussion → keep to review
- #3924 [MechanicalLoad] Replace doUpdateInternal by callback: ConstantFF Ready but to be merged with #4019 → ready
- #3882 [plugin] Add fetchable SoftRobots Test Result 2 failures (time out). CI restarted let's wait and see → keep to review
- #4015 [SolidMechanics] Implement buildStiffnessMatrix for QuadBendingFEMForceField
- #3994 [AnimationLoop] Change the default constraint solver in FreeMotionAnimationLoop
- #4006 [Spring] Implement buildStiffnessMatrix in FastTriangularBendingSprings
- #4020 [LinearAlgebra] CompressedRowSparseMatrix: add virtual destructor
- #4007 [MechanicalLoad] Implement buildStiffnessMatrix for OscillatingTorsionPressureForceField
- #3989 [FEM.Linear] FIX & Minor refactor of buildStiffnessMatrix in TriangleFEMForceField
- #4018 [MechanicalLoad] Implement buildStiffnessMatrix for QuadPressureForceField
- #4012 [Diffusion] Fix buildStiffnessMatrix in TetrahedronDiffusionFEMForceField
- #4004 [MechanicalLoad] Implement buildStiffnessMatrix in EdgePressureForceField
- #4013 Follow changes from SOFA #3889
- #3931 [all] Use NVI design pattern for drawVisual
- #3997 [MechanicalLoad] Implement buildStiffnessMatrix for ConicalForceField
- #3972 [MechanicalLoad] Implement buildStiffnessMatrix for PlaneForceField
- New consortium staff: Paul Baksic joining the force!
- More than #4000 PR now!
- #4001 [LinearSystem] Optim: Only account for affected DoFs Optimize the assembly of mapped ForceFields JtKJ by identifying the useful terms of the Jacobian matrix with regards to the K matrix shape. A regression appeared on BeamFEMForceField and a scene test seems to fail SpatialGridPointModel.scn
- #3977 [Core] Suggestion of a better displayFlag name : ContactInteractions A new flag could be created displaying the DetectionOuput to visualize contact points whether you are using Penalities or Langrangian (new issue). But the suggestion will not be integrated as is. PR closed
- A proof-of-concept plugin SofaRaylib which adds a GUI and a new API to draw in SOFA using the raylib library
- #3994 [AnimationLoop] Change the default constraint solver in FreeMotionAnimationLoop Setting the componentState as Valid at the end and returning when Invalid, else OK → wip
- #3986 [LinearSolver.Direct] Parallelization of H A^-1 H^T in SparseLDLSolver Nice PR presenting the parallel version of the SparseLDLSolver, only benchmarks are coming soon. → keep to review
- #3972 [MechanicalLoad] Implement buildStiffnessMatrix for PlaneForceField Introduce a generalized version of the dyadic operator. Wait for CI then ready → ready
- #3959 [Simulation.Core] Refactor DefaultAnimationLoop + multithreading Scenes are failing → back to wip
- #3945 [all] Unify how Animation/Visual loops are handling their "targetNode" Compilation failing → back to wip
- #3942 [Tests] Properly remove exported files Wait for MacOS CI → keep to review
- #3938 [Sofa.Core] Implements a template deduction system in the object factory Question pending → keep to review
- #3931 [all] Use NVI design pattern for drawVisual Reviews have been done, waiting for an answer → wip
- #3930 [Sofa.Type] Reformat code Remains to test the PR with clang-format + solve conflicts → wip
-
#3882 [plugin] Add fetchable SoftRobots
At install, CMake copies python files using
configure_file()
, but when applying on binary files they get corrupted. A pure copy is now used, instead ofconfigure_file()
. One last scene is failing examples/thematicalDocs/T1-Elements_TetraHexaBeam/Hexa.Hexa.py. Scene will be investigated and the SofaPython3 PR #354 has been merged → wip
- #3993 [Spring] Implement buildStiffnessMatrix for AngularSpringForceField
- #3962 [Core.Topology] Restore invalid ids in invalid containers
- #3978 [Mapping.NonLinear] Fix assert in RigidMapping
- #3969 [FEM.Elastic] Implement buildStiffnessMatrix in HexahedralFEMForceField
- #3982 [tests] Restore commented unit tests
- #3948 [all] Implement empty buildDampingMatrix
- #3937 [all] Make local variables const
- #3889 [Sofa.Simulation] First steps to remove the singleton Simulation
- #3944 [Helper] add the experimental filesystem library for gcc-8 compilation
- #3894 [LinearAlgebra] Implement CompressedRowSparseMatrixConstraint
- #3961 [Helper.System] Introduce function append for paths
- #3985 [LinearSystem.Direct] More details in the error message
- #3888 [Constraint] Add tag to classify constraints
- Release upcoming this week
- MacOS down for 10 days more: a test will be done tomorrow, let's merge PR starting from Thursday evening
- Update about data/component update: discussions took place and a report will soon be presented
- #3968 [FEM.Elastic] Test HexahedralFEMForceField: shows that HexahedralFEMForceField and HexahedronFEMForceField do not behave the same way! This should be investigated and fixed in another PR
- #3961 [Helper.System] Introduce function append for paths → ready
- #3959 [Simulation.Core] Refactor DefaultAnimationLoop + multithreading Further review will be done. This PR raises the fact that the computation of forces due to InteractionForceFields can not be done anytime in the loop. Another topic to investigate is why the speed up is only x2 instead of x4. → keep to review
- #3956 [Core] Remove macros!!!!! From this PR a new proposition will be done, maybe template based → wip
- #3948 [all] Implement empty buildDampingMatrix Fix conflicts then ready → keep to review
- #3945 [all] Unify how Animation/Visual loops are handling their "targetNode" Few reviews to take into account → wip
- #3944 [Helper] add the experimental filesystem library for gcc-8 compilation Adds a bit of complexity to access filesystem library, but it ensures compatibility with old compilers → ready
- #3942 [Tests] Properly remove exported files → ready
- #3938 [Sofa.Core] Implements a template deduction system in the object factory In the strategy to firstly factorize/homogeneize the canCreate function, this PR propose an API to deduct template. Would be nice to apply it on the entire code base → wait for CI, then ready
- #3936 [MechanicalLoad] Break data cross-dependency in CFF Duplication of data will finally not be the way to go, an alternative PR will be proposed → closed
- #3931 [all] Use NVI design pattern for drawVisual Use of a NVI design pattern. Factorize the boolean draw data, the use of getShowVisualModel. Should use the isComponentStateValid() function → wip
- #3930 [Sofa.Type] Reformat code Suggestion done, remains to test the PR with clang-format → keep to review
- #3928 [Mass] Replace doUpdateInternal by callback: MeshMatrixMass Same as #3924 → wip
- #3927 [Mass] Replace doUpdateInternal by callback: UniformMass Same as #3924 → wip
-
#3924 [MechanicalLoad] Replace doUpdateInternal by callback: ConstantFF
Create a function including all the update process, split the updates in separate functions (recover commits from #3936), use function
isComponentStateValid()
→ wip - #3894 [LinearAlgebra] Implement CompressedRowSparseMatrixConstraint → ready
- #3888 [Constraint] Add tag to classify constraints → ready
- #3973 [MechanicalLoad] Implement buildStiffnessMatrix for LinearForceField
- #3929 [FEM.Elastic] Implement buildStiffnessMatrix for FastTetrahedralCorotationalForceField
- #3934 [all] Add DeprecatedData and RemovedData
- #3971 [Sofa.Component] FIX default color for TetrahedronFEMForceField
- #3980 [plugins] Remove references to external deleted plugins
- #3976 [image] Fix crash in case no parameters provided to TransferFunction
- #3979 [MechanicalLoad] Remove empty draw function in LinearForceField
- #3975 [all] Minor clean on indentation and warning
- #3970 [Spring] Implement buildStiffnessMatrix for SpringForceField
- #3963 [Project] Start dev phase v23.12
- #3960 [plugins] Remove references to old plugins
- #3905 [Constraint.Lagrangian.Solver] LCPConstraintSolver: Fix when mu=0 (no friction)
- Feedback on VivaTech 2023
- SOFA booth along with InfinyTech3D
- Compliance Robotics booth
- Careful: MacOS CI is not yet online
⚠️ wait before massive merge! - Preparation of the v23.06 release
- Linux and Windows are successfully generated, and tested
- Waiting for MacOS CI to generate them
- Issues on Caribou:
- change repo name
- change project name
- clean scenes
- ship scenes within install
- check the use of the Cosserat bindings
- add it to the fetchable plugins
- Go further with #354 Support copy of some binary files
- when preparing the python packages at install, the
configure_file()
is corrupting some files - investigate what does the macro and the
configure_file()
file (probably not only a simple copy) - Alex will give a try and could be a good first complicated topic for Paul
- when preparing the python packages at install, the
- #3963 [Project] Start dev phase v23.12 → ready
- #3960 [plugins] Remove references to old plugins PreassembledMass and RigidScale should be removed to due to the hard link to Compliant and/or Flexible → wip
- #3937 [all] Make local variables const Ready but wait for the MacOS CI → ready (wait MACOS)
- #3934 [all] Add DeprecatedData and RemovedData Deeper review on the change in Base will be done. Reviews added, test failing (which is nice, this PR detected them!) and problem of indentation to solve → keep to review
-
#3931 Use NVI design pattern for drawVisual
Missing deprecation layer on the data
d_visible
in OglLabel. Else wait for the discussion "component and data update" → wip -
#3930 [Sofa.Type] Reformat code
New rule
AllowShortCaseLabelsOnASingleLine: false
could be added, then the format script should be tested by other devs → keep to review - #3929 [FEM.Elastic] Implement buildStiffnessMatrix for FastTetrahedralCorotationalForceField Failing tests are due to a CI machine not cleaned (due to MacOS missing CI), two reviews validating the PR. → ready
- #3894 [LinearAlgebra] Implement CompressedRowSparseMatrixConstraint Reviews taken into account. In the class, CompressedRowSparseMatrixConstraint a utilitary code was present: Fred removed it. Wait for MacOS CI to merge → ready (wait MACOS)
-
#3889 [Sofa.Simulation] First steps to remove the singleton Simulation
Change function name
sofa::simulation::node::init(node)
andsofa::simulation::node::initRoot(rootNode)
→ ready -
#3882 [plugin] Add fetchable SoftRobots
Warnings with the topologyHandler in the SoftRobots plugin were remaining. When the scene in constructed, some nodes are initialized before the global initialization. This double
init()
on Mass, the topology handlers are sending a warning. A proposed solution is to use the static MeshTopology instead, a longer term solution would be to avoid these double init. → keep to review
- #3957 [Simulation.Core] Deprecate unused classes *VisitorScheduler
- #3890 [Plugins] ADD external collisions plugins
- #3955 [Mapping/tests] Remove dependency on SceneCreator
- #3954 [Sofa.Simulation] Remove Node::bwdInit
- #3946 [all] Remove few lines of code that do nothing
- #3935 [MechanicalLoad] Restore addKToMatrix and test SurfacePressureForceField
- #3925 [Projective] Fix and test FixedPlaneConstraint
- #3891 [all] Rename DefaultContactManager into CollisionResponse
- VivaTech 2023 is coming, join us in Paris on Friday 16th of June!
- CI MacOS is down due to moving of the SOFA consortium staff and infrastructure
- Still a very nice dev activity (but therefore a lot of review effort)!
-
#3930 [Sofa.Type] Reformat code
Such a formatting tool has a great interest for SOFA, but for now not to apply on the whole codebase. With 25+ open PR, applying it to all SOFA would generate conflicts as well as make the comparison with older codes complicated. Moreover, only one rule (e.g. only the code tabulation) can not be applied. Howevever, the script can be applied on separated modules. Alex will test clang-format in command line and a review of the format is needed.
- Remark: OK to apply it on Sofa.Type. Exntending it to SOFA is not a priority, minimum effort for PR author and for the core-dev
- it would be simpler to apply it once on the whole code base (easy to do in the Sofa.Core)
- must be done in a synchronized way (for developer with multiple branches)
- then suggest/automatize/enforce format in PR (through CI, or GitHub actions) → Paul
-
#3924 [MechanicalLoad] Replace doUpdateInternal by callback: ConstantFF
- doUpdateInternal API was a DataEngine mechanism in all BaseObject to allow for a triggered update of components through the doUpdateInternal function. It was allowing for having input and output data but it is not spread and could be replaced by data
- #3636 is pursueing the work by separating the callback to have one per data, and it adds new data as input while having read-only data which are coherent
- have the read-only constraint (more than only GUI) and how to implement it (check in
beginEdit()
, BaseData, Data) - break circular dependencies seems a good property, but we could keep only one input with an engine allowing to have other input
- a dedicated discussion will take place next week!
- have the read-only constraint (more than only GUI) and how to implement it (check in
- #3925 [Projective] Fix and test FixedPlaneConstraint → ready
- #3905 [Constraint.Lagrangian.Solver] LCPConstraintSolver: Fix when mu=0 (no friction) A discussion remains (but out of the PR scope): how to have a cleaner, simpler and more generic way to define friction → ready
- #3903 [Spring] Rename RestShapeSpringsForceField to a more user-oriented name Agreement on names found here. An issue will be created. → closed
- #3894 [LinearAlgebra] Implement CompressedRowSparseMatrixConstraint Brings back the InSimo's work to replace MapMapSparseMatrix. Some refactoring could be done but a deep review is needed from a max number of devs. → keep to review
- #3891 [all] Rename DefaultContactManager into CollisionResponse → ready
- #3890 [Plugins] ADD external collisions plugins PR on plugins merged, it's ready. Just note that those plugins do not have any CI, use at your own risk. → ready
-
#3889 [Sofa.Simulation] First steps to remove the singleton Simulation
Fred noticed the change of
init()
functions which disappeared butinitNode()
has changed and a newinitNodeNoContextUpdate()
has been added. Damien suggests the use of different namespace to explicit the perimeter of the init function butsofa::simulation::simulation::init()
could be misleading. A coherent renaming will be proposed → keep to review - #3882 [plugin] Add fetchable SoftRobots CI works on the SoftRobots scenes and Alex is working on fixing the failing scenes in the plugin. If fixing becomes too complex, some scenes might be added to the ignored files. → wip
- #3921 [Mapping.NonLinear] Implement buildGeometricStiffnessMatrix for DistanceFromTargetMapping + example
- #3949 [IO.Mesh] More debug info in the error message in MeshSTLLoader
- #3933 [Helper] Properly deprecate an already deprecated function
- #3932 [all] Cosmetic: apply nested namespaces style
- #3914 [Logging] Suggestion to better highlight warnings in console
- #3918 [Core] Access cumulative sum of VecIds through proxy class
- #3922 [Config] Allow fast math mode for gcc/clang
- #3915 [all] Minor clean of types
- #3850 [Spring] Limit spring force to some axis
- VivaTech 2023 is coming, join us in Paris on Friday 16th of June!
- CI MacOS is down due to moving of the SOFA consortium staff and infrastructure
- Nice dev activity!
-
Release v23.06 process ongoing
- SofaPython3: merged PR #351
- Remove reference: SofaPython, THMPGSpatialHashing, Flexible, Compliant, OptiTrackNatNet, OpenCTMPlugin
- Make sure a v23.06 branch is available in your plugins: Tearing, IT3DToolkit, Cosserat, SoftRobots, MOR, STLIB
- Test the addition of a new plugin: Caribou
-
Lifecycle for v23.12 will start after the release
-
PR to review
- #3903 [Spring] Rename RestShapeSpringsForceField to a more user-oriented name The new nomenclature suit all developers, renaming upcoming!
-
#3912 [Mass] Deprecate and make DiagonalMass inherit from MeshMatrixMass
Todo:
- assess again performances on large mesh
- remove CUDADiagonalMass
- edge implementation to backport in MMM
- deprecate XspLoaders (later, create an issue)
-
Damien is progressing well on the update of the SofaPython3 documentation
- #3918 [Core] Access cumulative sum of VecIds through proxy class With non-linear mappings, the derivative of J times the forces (on the mapped object) f has to be computed. Several forces apply: physical forces and Lagrangian forces contained in two different data (stored in different VecIds). The refactoring associated to the new matrix assemlby broke the fact that Lagrangian forces were taken into account in the geometric stiffness. This PR fixes this. → ready
-
#3882 [plugin] Add fetchable SoftRobots
Now SoftRobots plugin have a repository
examples/
. Force full build triggered, let's wait CI. → keep to review - #3850 [Spring] Limit spring force to some axis → ready
- #3919 [examples] Remove example for MechanicalMatrixMapper
- #3920 [applications] remove unused variable
- #3911 [All] Remove warnings for v23.06
- #3821 [Components] Add functions to visualization of TetrahedronFemForceField
- #3913 [Helper] Improve text message for users in ComponentChange
- #3887 [SolidMechanics] Use accessors & make geometrical data required in BFF
- #3884 [contact] Add missing call to super init
- #3871 [all] Deprecate unused verbose data
- #3870 [Config] Fix cross-compilation for embedded external libs
- #3868 [SofaCUDA] No longer use deprecated texture references in HexaTLED
- Feedback from SOFA Technical Committee #15. A new format could be suggested: separate STC roadmap discussions from the coding sprint, this would have the advantage of taking the time to converge on the roadmap.
- Next event: SOFA at VivaTech 2023 on Friday 16th of June!
-
#3903 [Spring] Rename RestShapeSpringsForceField to a more user-oriented name
A common use of RestShapeSpringsForceField is to fix some points using forces and sometimes fixing points to another object. In general this raises the question of: defining a naming convention on such components to distinguish:
- projective constraints (physicless, forceless)
- weak force constraints (physicless with forces)
- Lagrange-based constraints (taking into account the physics and applying forces)
- Process for the v23.06 release will start soon
- #3888 [Constraint] Add tag to classify constraints Proof of concept further to STC#15 discussions but so far, no use of this mechanism. Feedback from the community requested. A usecase could be to warn the user in LCPConstraintSolver when adding BilateralInteractionConstraint while this constraint solver does not support it. → keep to review
- #3887 [SolidMechanics] Use accessors & make geometrical data required in BFF → ready
- #3884 [contact] Add missing call to super init → ready
-
#3882 [plugin] Add fetchable SoftRobots
An
examples/
folder should be at the root in SoftRobots for the CI to find it. It would be nice to have SoftRobots following this format. Possibly we should add STLIB. If this does not work, we will ignore the scenes. → wip - #3871 [all] Deprecate unused verbose data → ready
- #3870 [Config] Fix cross-compilation for embedded external libs → ready
- #3868 [SofaCUDA] No longer use deprecated texture references in HexaTLED The added scene is failing because CUDA scene are not tested on the CI. Add the scene to the ignore list, then rebase, then ready → keep to review
- #3850 [Spring] Limit spring force to some axis An idea to avoid this new data was to use a mapping but it has been concluded that it would complexify too much the scene and no one is available for the implementation. → wip
- #3821 [Components] Add functions to visualization of TetrahedronFemForceField PR still to review, data renaming using d_ should be done in another PR → keep to review
- #3902 [SofaCUDA] Replace deprecated vector types
- #3886 [examples] Fix unstable scene constantMomentum.scn
- #3515 [LinearAlgebra] Pull Insimo's CompressedRowSparseMatrix into the main branch
- #3876 [test] Fix failing unit test
- #3869 [SofaCUDA] Deprecated CudaTexture.h
- #3865 [all] include base class inl file
- #3864 [test] Fix unit test on RestShapeSpringsForceField
- #3861 [all] Change variable name supportOnlySymmetricMatrix in MParams
- #3858 [Constraint.Lagrangian] Add messages when no compliance is given
- #3857 [Constraint.Lagrangian] Activate the export of lambda forces by default
- #3855 [plugins] Remove fetching of SofaPython
- #3848 [Spring] Remove unused dependencies
- #3843 [SceneChecking] Add check when setting contactStiffness uselessly
- #3783 [StateContainer] Fix bug in dynamic data registration
- #3834 [LinearAlgebra] Change access specifier for the method set
❌ No meeting due to the SOFA Technical Committee #15 taking place in Paris!
- SOFA Technical Committee in Paris from May 23th to 26th - Next week !
- VivaTech 2023 : 3 demos based on SOFA!
- Page on how to release on the wiki
- Issue when changing the
group
data dynamically in CollisionModel #346- Quick dirty fix suggested
- AbstractTypeInfo could be updated to offer a consistent API, see comment
- Creation and freeze of the v23.06 release branch
- Share process to release
- Extend it to plugins : will be done while doing the release
- SOFA in conda by Olivier: packages will be done for each plugin + SOFA → first PR on conda forge will soon take place
- #3865 [all] include base class inl file Required if compatibility with CUDA 12 is desired → to review
- #3861 [all] Change variable name supportOnlySymmetricMatrix in MParams → ready
- #3858 [Constraint.Lagrangian] Add messages when no compliance is given → ready
- #3857 [Constraint.Lagrangian] Activate the export of lambda forces by default Wait for CI and then merge → ready
- #3855 [plugins] Remove fetching of SofaPython → ready
- #3850 [Spring] Limit spring force to some axis Interesting contributions (componentState, cleans) but the feature constraining the direction of the force of a RestShapeSFF is not that interesting for SOFA. → to be discussed (waiting feedback from Youness)
- #3843 [SceneChecking] Add check when setting contactStiffness uselessly → ready
- #3834 [LinearAlgebra] Change access specifier for the method set Reviews taken into account → ready
- #3821 [Components] Add functions to visualization of TetrahedronFemForceField Review to be done by hugtalbot → keep to review
- #3783 [StateContainer] Fix bug in dynamic data registration Reviews to take into account. Small change → keep to review
- #95 Disable BeamLengthMapping test Test failing to investigate. The issue seems to be a precision issue (1e-13~14), epernod nicely proposed himself → keep to review
- #94 [MultiAdaptiveBeamMapping] Fix potential bug when removing baseEdge Small fix on type avoiding auto → ready and merged
- #3848 [Spring] Remove unused dependencies
- #3834 [LinearAlgebra] Change access specifier for the method set
- #3838 [Mapping.NonLinear] Warns when non-symmetric matrix is produced
-
SOFA Technical Committee #15 in Paris from May 23th to 26th - Organization
- REGISTER NOW!
- Social events are booked!
- For next STCs, Lille as a location might be preferred regarding the hotel / facilities availability
- Merge of the Matrix Assembly update #2777 feedback: not much feedback in general, the SoftRobots plugin has been successfully updated in #213
- Cosserat plugin:
- some GitHub CI issue, related to pybind version (forcing to use C++14), used for Cosserat bindings
- State of code: clean of examples is required → a tool is required to test python scenes in plugins
-
Issue when changing the
group
data dynamically in CollisionModel, the change is not taken into account: it seems that setting a value in a set insert the new value, but does not remove the old one → feedback from Damien is expected - Creation of the v23.06 release branch: done today. Remaining todo:
- All PR must now have a milestone specified
- Share process to release
- Extend it to plugins
- Reviews on BeamAdapter PR are needed as well!
- #3843 [SceneChecking] Add check when setting contactStiffness uselessly Factorize checks in separate functions → wip
-
#3838 [Mapping.NonLinear] Warns when non-symmetric matrix is produced
Renaming
mparams->symmetricMatrix
in asmparams->supportOnlySymmetricMatrix
should be done in another PR → wait for CI then ready -
#3834 [LinearAlgebra] Change access specifier for the method set.
Merge the
public:
area, then ready → wip - #3833 [Lagrangian.Model] Missing _API keyword → wait for CI then ready
- #3821 [Components] Add functions to visualization of TetrahedronFemForceField Ziqiu requested some assistance, Hugo should help → wip
- #3806 [SofaCUDA] Explicit instantiation of ForceField class for Cuda types Include of inl classes inheriting from ForceField should be done. Another PR will be open . → closed
- #3783 [StateContainer] Fix bug in dynamic data registration Check if when adding an existing alias throws a warning, merge changes and ready → keep to review
- #3515 [LinearAlgebra] Pull Insimo's CompressedRowSparseMatrix into the main branch Classes for the different uses of CRS are now well separated. Index to change, breaking alias with assistance message. Breaking with SofaCUDA. → keep to review
- #42 Fix references for EulerExplicitSolver and Mesh2PointTopologicalMapping Some regression results were missing (because not located in the right folder, now fixed) and no error got emitted. → merged
- #3841 [Rendering3D] OglModel: Revert back to glBufferSubData
- #3840 [LinearSolver.Iterative] CMake: Fix package configuration
- #3833 [Lagrangian.Model] Missing _API keyword
- #3832 [LinearAlgebra] Fix matrix unit test
- #3803 [Mapping.Nonlinear] Fix matrix assembly in RigidMapping
- SOFA Technical Committee in Paris from May 23th to 26th - Organization → REGISTER NOW!
- Merge of the PR [LinearSystem] Refactor matrix assembly #2777
- Freeze the release branch v23.06 imminent
- Issue in the RegularGrid of SOFA with Hexahedra: a workaround has been found, and an issue will be created to track the problem
- Need to integrate PRs from BeamAdapter
-
#3821 [Components] Add functions to visualization of TetrahedronFemForceField
→ introduce a data for scaling the gap between the elements
Instead of a showForceField data, use a VisualStyle
Add the
d_
prefix to the introduced data - #3806 [SofaCUDA] Explicit instantiation of ForceField class for Cuda types → wait for the user feedback
- #3803 [Mapping.Nonlinear] Fix matrix assembly in RigidMapping → ready and merged
- #3783 [StateContainer] Fix bug in dynamic data registration → keep to review
- #3515 [LinearAlgebra] Pull Insimo's CompressedRowSparseMatrix into the main branch → to review, in particular the failing test
- #3823 [All] Remove trivial warnings
- #3822 [Rendering3D] OglModel: Use glMapBufferRange to update buffers
- #3815 [Visual] VisualModelImpl: Fix updateVisual()
- #3805 [Visual] VisualModelImpl: Clean and optimize slightly ComputeNormals()
- #3802 [PreassembledMass] Make it external
- #2777 [LinearSystem] Refactor matrix assembly
- SOFA Technical Committee in Paris from May 23th to 26th - Organization
- REGISTER NOW!
- Location : Cap Digital
- Reminder: new plugin for elasticity on shells using FEM
- Several training sessions taking place and new dates are available
- Freeze the release branch v23.06 at the beginning of May
- Issue in the RegularGrid of SOFA with Hexahedra where the first hexahedron is ordering the edges in a different order then the next hexahedra (next hexas are using udpateQuads())
- Need to another GUI for SOFA : ImGui is not very professional/user-friendly. The project SofaQtQuick was an idea but the project is over. To be further discussed at STC!
- #3823 [All] Remove trivial warnings → ready
- #3822 [Rendering3D] OglModel: Use glMapBufferRange to update buffers → ready
- #3821 [Components] Add functions to visualization of TetrahedronFemForceField Waiting for Ziqiu's feedback, the feature of node stress data rendered on tetrahedra and clean on if conditions should be integrated. → wip
- #3815 [Visual] VisualModelImpl: Fix updateVisual() → ready
- #3806 [SofaCUDA] Explicit instantiation of ForceField class for Cuda types Poke the user to test alxbilger's branch → keep to review
- #3805 [Visual] VisualModelImpl: Clean and optimize slightly ComputeNormals() → ready
- #3803 [Mapping.Nonlinear] Fix matrix assembly in RigidMapping A few questions are to be discussed with alxbilger → keep to review
- #3783 [StateContainer] Fix bug in dynamic data registration → keep to review
- #2777 [LinearSystem] Refactor matrix assembly Two related PR to merge in associated repositories (Regression and SofaPython30. Now force full-build when CI makes the last check, merge the PR. BRACE YOURSELF and report any issues related to this PR. → ready
- #3818 [Components] rename shadow variable
- #3816 [Constraint] Change print variable names to be consistent with doc
- #3807 [SofaCUDA] Move explicit template instantiations from CudaTypes.cpp to CudaMultiMapping.cpp
- #3802 [PreassembledMass] Make it external
- #3800 [BulletCollisionDetection] Revive project
- #3799 [Simulation] Suggest required plugin in the syntax of the scene loader
- #3798 [SofaCarving] Refresh : update file architecture and cmake
- #3796 [Constraint] Add data to access constraint forces in LCPCS
- #3792 [Hyperelastic] Reformat files and add override attribute
- #3782 [Core.Visual, Component.Visual] Create VisualState (formerly Vec3State)
-
SOFA Technical Committee in Paris from May 23th to 26th - Organization
- REGISTER NOW!!!
- Location information: Cap Digital, 14 rue Alexandre Parodi, Paris
- SOFA application for the French national prize for Open Science
- New plugin for elasticity on shells using FEM: https://github.com/SofaDefrost/Shell
- Several training sessions taking place and new dates are available
- Freeze the release branch v23.06 at the beginning of May
- Documentation for SofaCUDA : installation of the drivers should be tested on both Linux and Win. PR is opened but needs to be updated #87
- #3802 [PreassembledMass] Make it external → ready
- #3800 [BulletCollisionDetection] Revive project → ready
- #3799 [Simulation] Suggest required plugin in the syntax of the scene loader Very useful for users! → ready
- #3796 [Constraint] Add data to access constraint forces in LCPCS → ready
- #3792 [Hyperelastic] Reformat files and add override attribute Just cleaning and formatting. → ready
- #3783 [Sofa.Component.StateContainer] Fix bug in dynamic data registration. Changes suggested, waiting for feedback → wip
- #3782 [Core.Visual, Component.Visual] Create VisualState (formerly Vec3State) Work on full-floating visualization is paused, let’s merge it as is. → ready
- #2777 [LinearSystem] Refactor matrix assembly Last week, a discussion took place about some plugin compatibility. Now compilation is fixed for all plugins. The discussion also led to the conclusion that GPU codes should be opened Some issues remain about geometric stiffness to manage both forces and constraint forces. Even if no solution is implemented yet on this very specific case, the PR should be merged. A last clean will be done, then un-draft the PR and force-full-build. → to be merged
- #3795 [SofaCUDA] Reorganize following SOFA structure (8/n)
- #3791 [AnimationLoop] Call super init in FreeMotionAnimationLoop
- #3785 [SofaCUDA] Reorganize following SOFA structure (7/n)
- #3784 [Rendering3D] Missing StateLifeCycle
- #3780 [Config] Remove suspicious Eigen macro preventing vectorization
- #3776 [Mapping.NonLinear] Implement missing applyJT
- #3774 Update CONTRIBUTING.md
- #3771 [SofaPhysicsAPI] Remove unreachable code
- #3768 [examples] Introduce example and tests for SquareMapping
- #3680 [Mapping] Adds template to RigidMapping
- SOFA Technical Committee in Paris from May 23th to 26th - SAVE THE DATE
Announcement email incoming!!!
- Registration will be compulsory
- Sprint topics are being listed https://github.com/sofa-framework/sofa/issues?q=is%3Aopen+is%3Aissue+label%3ASTC%2315+
- Freeze the release branch v23.06 at the beginning of May
- Documentation for SofaCUDA should be updated : at least mentioning that CUDA12 is not supported so far (could be updated for the v23.06)
- #3782 [Core.Visual, Component.Visual] Create VisualState (formerly Vec3State) In the objective to have an Ogl model fully in float for performances, this is a first step towards templating the OglModelImpl. Evaluation of performance gain on Fred’s plugin is ongoing. → keep to review
- #3780 [Config] Remove suspicious Eigen macro preventing vectorization → ready
- #3776 [Mapping.NonLinear] Implement missing applyJT → ready
- #3774 Update CONTRIBUTING.md → ready
- #3771 [SofaPhysicsAPI] Remove unreachable code Issue pointed by maddin. The return could simply be removed, as well as all GUI related code. Revert and just remove the return → wip
- #3768 [examples] Introduce example and tests for SquareMapping Related to the comment in #2777, this scene and regression is testing the non-linear mappings in series → wait for the CI and then ready (regression)
- #3680 [Mapping] Adds template to RigidMapping Review done → ready
- #2777 [LinearSystem] Refactor matrix assembly Non-linear mappings in series are now supported. Regressions have been updated. Last todo : check that constraints are taken into account in non-linear mappings. A last discussion takes place today before the merge → keep to review
- #3775 [LinearAlgebra] Restore insertion operator for BaseVector
- #3763 [Core] Fix MSVC warning in Link
- #3761 [Mapping.NonLinear] Fix SquareMapping applyDJT
- #3760 [SofaCUDA] Reorganize following SOFA structure (6/n)
- #3757 [examples] Apply rest position in mappings
- #3756 [examples] Introduce examples for DistanceMapping and SquareDistanceMapping
- #3751 [plugins] ArticulatedSystemMapping : adds size check & fixes typo
-
SOFA Technical Committee in Paris from May 23th to 26th - Organization
- Email will be sent by next week (with registration link)
- Questions to members / EPIs: which dev topics to tackle
- Sprint topics are being listed here
- Dedicated page will be created and updated with all STC#15 information
- Defrost team is willing to increase the training materials to level up!
- Freeze the release branch v23.06 at the beginning of May
- #3761 [Mapping.NonLinear] Fix SquareMapping applyDJT Test added which was failing due to a misimplementation in the SquareMapping when a K cached matrix was not stored → ready
- #3757 [examples] Apply rest position in mappings Could be nice to see the impact of applyRestPosition=True as a default value → ready
- #3756 [examples] Introduce examples for DistanceMapping and SquareDistanceMapping → ready
- #3751 [plugins] ArticulatedSystemMapping : adds size check & fixes typo Callback has been properly added → ready
- #3680 [Mapping] Adds template to RigidMapping Looks good! Last reviews are being done → keep to review
- #2777 [LinearSystem] Refactor matrix assembly Two tasks ongoing: on geometric stiffness: combination of non-linear mappings is not working for now (to be done in a next PR) on geometric stiffness: take constraint forces into account generate the references for the regressions → wip
- #3763 [Core] Fix MSVC warning in Link
- #3760 [SofaCUDA] Reorganize following SOFA structure (6/n)
- #3758 [SofaCUDA] Reorganize following SOFA structure (5/n)
- #3755 [Tests] S.Components tests compiles with SReal=float
- #3754 [Spring] Remove variable redefinitions
- #3753 [Type] Support structured binding for type::fixed_array
- #3749 [GUI.Qt] Register meta type to fix asynchronous Qt call
- #3741 [Helper] Deprecate constructor of OptionsGroup
- #3740 [Mapping.NonLinear] Geometric stiffness method in an OptionsGroup
- #3714 [Core] TLink: Fix warnings about comparisons between unnamed enums
- New developers incoming in the community
- Organization of the STC : topics of the coding sprint will be discussed next week
- Next events:
- CMBBE SOFA workshop in Paris
- STC#15 in Paris
- SoFraSimS in Nice
- VivaTech in Paris
- Merge #2777 is imminent: test next week
- #3755 [Tests] S.Components tests compiles with SReal=float → wait the CI, ready
- #3754 [Spring] Remove variable redefinitions → ready
- #3753 [Type] Support structured binding for type::fixed_array Only supported by MSVC → wait CR then ready
- #3751 [plugins] ArticulatedSystemMapping : adds size check & fixes typo we discussed about a solution: a callback including the validity check could be added on the data so that we are sure about the validity anytime → wip
- #3749 [GUI.Qt] Register meta type to fix asynchronous Qt call Highlight the low quality of the GUI, looking forward to new work on GUI! → ready
- #3741 [Helper] Deprecate constructor of OptionsGroup Conflicts to solve and to be rebased. → keep to review
- #3740 [Mapping.NonLinear] Geometric stiffness method in an OptionsGroup For non-linear mappings, the option group becomes a data. A new PR will be done to create an intermediate class (NonLinearMapping and NonLinearMultiMapping) from which all non-linear classes must inherit. → ready
- #2777 [LinearSystem] Refactor matrix assembly Only remaining a regression on BeamForceFieldTest. Maybe due to the improvement of penalty forces taken into account with a direct (assembled) linear solver. → still to review until the end of next week (April, 7th)
- #3742 [example] Introduce an example for DistanceMultiMapping
- #3738 [applications] rename shadow variable
- #3737 [Helper] Improve OptionsGroup
- #3714 [Core] TLink: Fix warnings about comparisons between unnamed enums
- #3740 [Mapping.NonLinear] Geometric stiffness method in an OptionsGroup Unit tests are failing → wip
- #3738 [applications] rename shadow variable → ready
- #3737 [Helper] Improve OptionsGroup Unit tests are failing → wip then ready if fixed within the week
- #3680 [Mapping] Adds template to RigidMapping PR does not compile. Need thorough review. But the idea of the PR is accepted → keep to review
- #2777 [LinearSystem] Refactor matrix assembly Todo: highlight the most important code → keep to review
- #3727 [SofaCUDA] Fix includes pointing to compatibility layer
- #3713 [GUI.Qt] Clean and fix in the "inspector" panel
- #3711 [all] Remove a bunch of warnings
- #3707 [Mapping.NonLinear] Move DistanceMultiMapping in its own files
- #3706 [LinearSolver.Direct] Make sure the matrix is factorized in SparseCholeskySolver
- #3693 [Helper] Fix FileRepository::relativeToPath
- #3691 [Spring] Check for nullptr in RestShapeSpringsForceField
- #3687 [Collision] Make the (CubeModel) BoundingTree deterministic
- #3714 [Core] TLink: Fix warnings about comparisons between unnamed enums → ready
- #3713 [GUI.Qt] Clean and fix in the "inspector" panel → ready
- #3711 [all] Remove a bunch of warnings → ready
- #3706 [LinearSolver.Direct] Make sure the matrix is factorized in SparseCholeskySolver → ready
- #3703 [Collision.Geometry] Replace comparison operator for deterministic sort → closed
- #3693 [Helper] Fix FileRepository::relativeToPath → ready
- #3691 [Spring] Check for nullptr in RestShapeSpringsForceField Reviews taken into account → ready
- #3687 [Collision] Make the (CubeModel) BoundingTree deterministic No more regression → ready, but PR #39 in Regression must be merged first
- #2777 [LinearSystem] Refactor matrix assembly → keep to review
- #3702 [IO.Mesh] Fix mesh creation if load called multiple times
- #3701 [SofaCUDA] Reorganize following SOFA structure (4/n)
- #3700 [LinearAlgebra] Fix crash when matrix has no nonzero values
-
[Collision] Make the (CubeModel) BoundingTree deterministic
- https://github.com/sofa-framework/sofa/pull/3703
- #3687 is selected to be merged (code is cleaner, easier to understand and performances difference are probably negligible. Remains to be done: re-generate the regression results.
- [InterventionalRadiologyController] Revert sampling change of behaviour Change of behavior introduced in https://github.com/sofa-framework/BeamAdapter/pull/62. A fix to restore the previous behavior in: https://github.com/sofa-framework/BeamAdapter/pull/88. The fix must be tested on scenes using the components. Decision on the merge will be taken next dev meeting
- #3702 [IO.Mesh] Fix mesh creation if load called multiple times This PR indicates that doLoad is called twice. It is called twice because the callback calls itself. The Data is edited whereas it is an output of the callback. The use of a WriteOnlyAccessor instead of WriteAccessor (or beginEdit) fixes this issue. Ready An issue must be created to warn that a WriteAccessor (or beginEdit) cannot be used in a callback -> https://github.com/sofa-framework/sofa/issues/3709
- #2777 [LinearSystem] Refactor matrix assembly Reviews are required → keep to review
- #3309 [Sofa.Core] Refactor BaseObject::canCreate & BaseObject::create → wip
- #3687 [Collision] Make the (CubeModel) BoundingTree deterministic Wait for regression results → keep to review
- #3691 [Spring] Check for nullptr in RestShapeSpringsForceField instead of invalidating the component, return silently → wip
- #337 Fix test according to the fix of string creation Depends on https://github.com/sofa-framework/sofa/pull/3702 → keep to review
- #336 Support dev environments on Windows Ready but to test with the installed SOFA. → ready
- #335 Prevent division by zero Exception must be thrown if nfo.size() is zero. If nfo.size() is zero, it must indicate a bug in SOFA. Need to be investigate to locate the bug. → keep to review
- #3698 [Geomagic] Fix potential crash at exit when device has not been init
- #3692 [MechanicalLoad] Stupid check for consistency between state and topology
- #3690 [FEM.Elastic] Check for nullptr in BeamFEMForceField
- #3685 [all] Simple robustification
- #3684 [SofaCUDA] Remove BeamLinearMapping<Rigid3fTypes,.>
- #3683 [Analyze] Raw pointers to Links
- #3682 [all] Give reason when component cannot be created
- #3678 [Config] Disable SOFA_EXTERN_TEMPLATE
- #3677 [Simulation] Error when trying to load a non-existing file
- Organization of the STC#15: more information coming very soon!!
- Work on CMake in Caribou plugin and associated SofaPython3 plugin by Rémi
- Discussion about FEM for continuum mechanics: TetahedronFEMForceField vs TetrahedralCorotational no more differences
- TetrahedronFEMForceField p