C-Accel-CRIPT / Python-SDK

CRIPT Python SDK
MIT License
10 stars 5 forks source link

DFS comparision of nodes for update #437

Open duboyal opened 8 months ago

duboyal commented 8 months ago

Is your feature request related to a problem? Please describe.

a recursive depth first search comparing every node and do a node comparison node by node,

will still leverage deep diff

but this way is a must because this is the only way to keep track of a parent. I was thinking this could be tracked with the deeply nested registry of changes between entire objects on deep diff , but DFS (depth first search comparison) cannot be avoided. this is because child nodes by uuid may have many "parent nodes" i.e a material object by uuid may have many parent projects that reference it, you need to be coming from the parent and storing the uuid from the parent

Describe the solution you'd like

Ludwig says: We should do this right and implement a depth first search iterator from the BaseNode class. And that should be reused for the find children function.

Describe alternatives you've considered

Implementing the recursive function in the api class - api.save takes two objects and recursivley calls api.save_node() , a comparision fucntion i've already written using deep diff Additional context Add any other context or screenshots about the feature request here.