- User Since
- Feb 15 2021, 10:46 PM (92 w, 5 d)
Sep 28 2022
Updated to include Sergey's P3217 and an assertion
For completeness, here is a standalone script that repros the bug without needing any other steps:
Sep 27 2022
Sep 26 2022
So is the point you're making that while switching the deps graph update ordering here fixed the bug I'm seeing, the fact that the graph is not already up-to-date implies a bug _elsewhere_ in another operation that should be triggering an update, but isn't?
Here is the most minimal repro steps I've been able to come up with. Note that it is very sensitive to the order of operations, and I don't totally understand what is going on under the hood.
But why the tag of the parent is needed here? Setting parent modifies child, not parent. And why the order is done in the way it is done? It kinda feels that the code was intending to beDEG_id_tag_update(&par->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY); Depsgraph *depsgraph = CTX_data_ensure_evaluated_depsgraph(C); Object *parent_eval = DEG_get_evaluated_object(depsgraph, par);