Skip to content

eliminate `Base.registry` in favor of pipeline-based registry

Jameson Rollins requested to merge jameson.rollins/sgn:mr-no-base-registry into main

This series leads to the removal of the global Base.registry as a means for registering sgn objects. Having the registry be a class attribute of the Base class meant that all element names would have to be globally unique, even if they were not used in the same pipeline instance.

The Base hash is also changed to no longer be based on the name of the object, but to instead be based on a globally unique identifier. Having the hash based solely on the name string meant that the object and it's name were actually degenerate, which introducing some subtle bugs.

The patch series fixes up some of the behavior of the "Fake" elements as well,to make the tests cleaner. I recommend reviewing each patch in the series individually. But the last two patches that change the Base object registry should get special attention. I'm open to discussion about other ways to handle these issues.

Merge request reports

Loading