-
Notifications
You must be signed in to change notification settings - Fork 233
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New update core #3179
New update core #3179
Conversation
and fix bug with import `EventsTypes`
otherwise system becomes deaf forever if error was raised
Does this override all the last changes to the update system? |
Yes and even more. It overrides existing color system, update core of monads, refreshing IDs, recreating node trees, handle property updates and I think it is not the full list. I have tried to impact as less as possible but in such matters it is not as simple. In this way this PR is quite revolutionary. It undo many efforts of other developers. |
i welcome any effort to introduce less updates of the node tree. When you feel it's ready, then it's ready for testing by as many people as possible. but i think it's unwise to merge it into master without extensive testing (not just "it passes the automated tests i wrote" , tests are only as good as the mortals that write them). Users will find ways to break even the most hermetic code, often without even trying very hard. You will get no resistance from me if there's a way to have the current update system and this implementation live side-by-side , hot swap-able, letting users go into "experimental update system" mode. That way you get many more people testing it harder, yet we can still switch to the current update system if we need to. big changes need big testing, and expect big skepticism. |
Than more I'm working on this than less possible it seems to me to maintain two update system simultaneously. Anyway it is far from ready to merge. |
fix useless updating error nodes
…lender_events_2 # Conflicts: # ui/__init__.py
…lender_events_2 # Conflicts: # nodes/matrix/apply_and_join.py
and fixing if output.is_linked
Addressed problem description
#3077 #3058
Previous attempts:
#2380 #2393
After a year from previous attempt I'm trying to handle this task again. I have made some code and it looks like the approach is correct. Actual result is a node tree is never recalculate everything (only if base node for all other was not changed). Also there are some extra logic which prevents from useless updates.
In general process can described in next steps:
I splited all code into several modules:
If someone would like to test keep in mind next things:
node statics
andcolorize
panels can help to understand what is going onPanels:
Preflight checklist
nodes_dict