You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-21 14:57:09 +00:00
When a Graph contains cycles, e.g. 1->2->3->1 _layering would end up in an infinite loop since IS_SUBSET would never be true. By keeping check of the size of z, which contains the already layered nodes, one can detect a freeze (since it should change after current_layer increases. If it doesn't "u" didn't change and q and u will never be equal resulting in a freeze/infinite while loop). If a freeze happens warn the user and put all the nodes part of the cycle (leftover in p) to the first layer which will end up in them being listed top to bottom.
83 KiB
83 KiB