-
Notifications
You must be signed in to change notification settings - Fork 350
SOFA dev reports (2024)
Hugo edited this page Sep 25, 2025
·
1 revision
Join us every Thursday 9:30 am CET online: www.sofa-framework.org/sofa-dev-meeting
- 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 directoryor 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
dmsgbased 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_DEVTOOLSshould 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
pointdefining the indices of the points selected for the springs. It has been renamedindiceswhich 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_ptrsome 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
finishedname. → 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
srealthen 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
Kwould 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 forDataFilenameand 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 reviewmight 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 candidatethat is the only one that can be transformed toready. So for a PR to be merged it will need to first haveto reviewandmerge candidatein 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-onto 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
autointroduced 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
AttributeErrorfromDeprecationError→ 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_uniquealsothread_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
setParentfunction 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
FULLinclude 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_constraintIndexis 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_cidseems 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
.pyifile 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
objectbut 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
ctrlto 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::Pointas 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
availableIdbecause 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_requiredshould 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 thePluginkeyword). 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_APIto 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.Componentwill include allSofa.Component.*). One workaround to have an acceptable solution would be to pass through a staticgetModuleNameto 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::typeinstead 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-launchercould 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
isQuadDeulaunayOrientedmethod. 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_packageand 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_linkingand force the libpython loading withDYLD_INSERT_LIBRARIES=$CONDA_PREFIX/lib/libpython3.10.dylib ./runSofalibpython 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_packageand 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.
copyToBaseMatrixnow 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
registeredand 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