Attribute converter nodes - #3161
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces an AttributeConverter framework to support automatic conversion of attribute values between different types, along with several default converter implementations and integration into the meshroom_info CLI. The review feedback highlights several critical improvements: resolving potential TypeError and AttributeError exceptions in the converter registry and base class, correcting a class name mismatch in the boolean-to-integer converter, ensuring Liskov Substitution Principle compliance for isValid signatures, preventing a variable overwrite in the CLI parser, and maintaining return type consistency in converter loading functions.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #3161 +/- ##
===========================================
- Coverage 86.07% 85.85% -0.23%
===========================================
Files 78 79 +1
Lines 12111 12274 +163
===========================================
+ Hits 10425 10538 +113
- Misses 1686 1736 +50 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
9889ce7 to
f66bf0d
Compare
97fb1bf to
9b87344
Compare
9b87344 to
ea03bb6
Compare
87dab39 to
514a7b4
Compare
…alid check that is not a current paradigm
514a7b4 to
adb4e98
Compare
fabiencastan
left a comment
There was a problem hiding this comment.
It would be better to have lightweight nodes (without computation like InitNode) for edge expressions.
Description
Register nodes for attribute conversion.

How does it work
AttributeConverternodes are declaring what type conversion they are doing, and they implement aconvertmethod to handle the conversion. A notion ofpriorityis used to know what is the default conversion from a type to another.Aand typeBifA=Bor if a converter exist forA->B.Edgeobject.