Closed stefaniapedrazzi closed 4 years ago
The real problem is that unique ids of PROTO parameter nodes are not restored after PROTO regeneration but the correct run of controllers in case of regenerated PROTO nodes is based on the assumption that a node unique ID doesn't change. In fact nodes (and fields) are cached on the libController side and not updated during PROTO regeneration.
If we want that node and field references previously retrieved by the user are still valid after PROTO regeneration, the reset of the unique id should be fixed.
After regenerating a PROTO node, the reference in the Supervisor API doesn't seem to be updated and
wb_supervisor_node_get_from_def
still returns the previous (before PROTO regeneration) node reference.World file:
C Controller: