Node Spaghetti ns

ns запушил(а) master в ns/mantis

  • 4388eeb213 Fix Bone Properties Node fails with Driver Variable simple missing check. Fixed!

1 неделя назад

ns запушил(а) master в ns/mantis

  • ba34c875af v0.13.4 update version string
  • a4d2fd6d95 Fix: Mantis fails to execute Array Get nodes with Drivers This special case was causing the array get nodes to be missed by Mantis because they had no hierarchy connections to the tree since the Driver connections were always detected as non-hierarchy SO I added a special case to ensure the driver edges are always hierarchy connections when going into an Array. Tested with Array Get and Array Length nodes.
  • Просмотр сравнение для этих 2 коммитов »

1 неделя назад

ns запушил(а) master в ns/mantis

1 неделя назад

ns запушил(а) master в ns/mantis

2 месяцев назад

ns запушил(а) master в ns/mantis

2 месяцев назад

ns запушил(а) master в ns/mantis

  • 6efb6b2edc fix compatibility with blender 4.2, socket definitions turns out 5.0-only constraints cause problems in older blenders and it also turns out, quite unexpectedly, that subclassing socket definitions messes things up in the parent class. weird maybe blender does that on purpose because it expects parent classes to be abstract base classes (sort of)

2 месяцев назад

ns запушил(а) master в ns/mantis

  • 497b7a9bd5 add node: get existing bone this new node lets you get a bone from the tree it is needed for referencing existing rigs in the scene for example, for retargeting from the deform bones to the controls. make sure to read the special thank-you note!

2 месяцев назад

ns запушил(а) master в ns/mantis

  • 0fd8333d47 Fix: check for None/empty string for Bone Collection

3 месяцев назад

ns запушил(а) master в ns/mantis

  • 81cbd7f96f small edits after the previous patch this is basically just formatting and it is only necessary because the contributor was following my example and Mantis had some confusing variable names at the time the fork was made etc etc anyhow really great contribution and very much appreciated
  • bb10cfd7d3 Merge branch 'link-attribute-geo-transform' into 'master' Add Geometry Attribute constraint node link See merge request josephbburg/mantis!2
  • 2cdf7bea7d init geometry attribute constraint
  • Просмотр сравнение для этих 3 коммитов »

3 месяцев назад

ns запушил(а) master в ns/mantis

  • 4fd017ca30 5.0 work around arror updating group node during startup I recently broke the code that is responsible for setting the socket values during node group update. It is supposed to keep object references around in e.g. curve picker sockets, but it can lose them during startup. we just work around this by skipping these sockets during startup anyhow this just updates the 5.0 compatibility because it re-introduces bad beahviour
  • e5a1d37223 Add Custom Interface Socket Types this commit (re)introduces custom node socket interface types I did this a long time ago but didn't really understand it so I let Blender do it automatically But I am bringing it back because it lets me set some custom variables for different socket types, such as default values or whether the socket should be an array or not. Interface Classes set the multi and default value now note that this is VERY untested and probably doesn't work for Schema update interface draw for correct UI and clarity removes default value from xForm for outputs removes array if interface item is a connection and visa versa fix: unbound local error when updating group interface initial versioning for new interface classes Implement Custom Interface Classes this commit implements versioning and basic functionality for - default values on group sockets - arrays and connections editable in the Node Group Interface - array support for regular Node Groups tested and working with Human, Elephant, and Stego files. Disable "Connected To" feature this one is a little too ambitious and it will be too hard to implement Fix: default value disabled for Matrix (it is not yet implemented) Fix: correct default value type for vectors New Feature: Default Values for base tree Fix: interface panel doesn't have an identifier Fix: make default values work with more socket types this commit also improves the error message and it unfortunately(?) adds an assert from something I think is a safe assumption. Initialize Tree with correct version number WIP: Route Group I/O through interface nodes This commit does not work! But it is a good start. The purpose of this commit is to move towards bundling connections at the base of each group in/out so that I can cache things, manage variables, and most importantly for present purposes, send arrays in and out in a more consistent way. Probably I revert this commit and do something very similar without the intervening node until I get that slightly simpler strategy working. GroupInterfaceNodes at group in/out This commit fixes and finishes the last commit. All I forgot was to add the nodes to the parsed tree, and deal with a little bit of hardcoded foolishness that assumed there would be no intervening nodes using socket traversal. There will be more fixing for this behaviour in the near future, no doubt. But this works, and it opens up a whole lot of doors. clean up useless prints Fix: remove many instances of hardcoded node get search ".link[0]" to find the rest of them and fix before release for now, the matter of array sort id is much more pressing Fix: Correctly Sort Links to Group Arrays Look at the comment in readtree to understand this commit Special note: this really needs more robust testing but since I have tested stuff that I understand the only test cases I am unsure about are those which are too hard for me to imagine ahead of time. So probably I fix it if/when someone actually encounters it. cleanup xForm get_parent_node Fix: lazy parents broken Fix: Spline IK broken
  • 29437e0cad Add Custom Interface Socket Types this commit (re)introduces custom node socket interface types I did this a long time ago but didn't really understand it so I let Blender do it automatically But I am bringing it back because it lets me set some custom variables for different socket types, such as default values or whether the socket should be an array or not. Interface Classes set the multi and default value now note that this is VERY untested and probably doesn't work for Schema update interface draw for correct UI and clarity removes default value from xForm for outputs removes array if interface item is a connection and visa versa fix: unbound local error when updating group interface initial versioning for new interface classes Implement Custom Interface Classes this commit implements versioning and basic functionality for - default values on group sockets - arrays and connections editable in the Node Group Interface - array support for regular Node Groups tested and working with Human, Elephant, and Stego files. Disable "Connected To" feature this one is a little too ambitious and it will be too hard to implement Fix: default value disabled for Matrix (it is not yet implemented) Fix: correct default value type for vectors New Feature: Default Values for base tree Fix: interface panel doesn't have an identifier Fix: make default values work with more socket types this commit also improves the error message and it unfortunately(?) adds an assert from something I think is a safe assumption. Initialize Tree with correct version number WIP: Route Group I/O through interface nodes This commit does not work! But it is a good start. The purpose of this commit is to move towards bundling connections at the base of each group in/out so that I can cache things, manage variables, and most importantly for present purposes, send arrays in and out in a more consistent way. Probably I revert this commit and do something very similar without the intervening node until I get that slightly simpler strategy working. GroupInterfaceNodes at group in/out This commit fixes and finishes the last commit. All I forgot was to add the nodes to the parsed tree, and deal with a little bit of hardcoded foolishness that assumed there would be no intervening nodes using socket traversal. There will be more fixing for this behaviour in the near future, no doubt. But this works, and it opens up a whole lot of doors. clean up useless prints Fix: remove many instances of hardcoded node get search ".link[0]" to find the rest of them and fix before release for now, the matter of array sort id is much more pressing Fix: Correctly Sort Links to Group Arrays Look at the comment in readtree to understand this commit Special note: this really needs more robust testing but since I have tested stuff that I understand the only test cases I am unsure about are those which are too hard for me to imagine ahead of time. So probably I fix it if/when someone actually encounters it. cleanup xForm get_parent_node Fix: lazy parents broken Fix: Spline IK broken
  • Просмотр сравнение для этих 3 коммитов »

3 месяцев назад

ns запушил(а) master в ns/mantis

  • 29437e0cad Add Custom Interface Socket Types this commit (re)introduces custom node socket interface types I did this a long time ago but didn't really understand it so I let Blender do it automatically But I am bringing it back because it lets me set some custom variables for different socket types, such as default values or whether the socket should be an array or not. Interface Classes set the multi and default value now note that this is VERY untested and probably doesn't work for Schema update interface draw for correct UI and clarity removes default value from xForm for outputs removes array if interface item is a connection and visa versa fix: unbound local error when updating group interface initial versioning for new interface classes Implement Custom Interface Classes this commit implements versioning and basic functionality for - default values on group sockets - arrays and connections editable in the Node Group Interface - array support for regular Node Groups tested and working with Human, Elephant, and Stego files. Disable "Connected To" feature this one is a little too ambitious and it will be too hard to implement Fix: default value disabled for Matrix (it is not yet implemented) Fix: correct default value type for vectors New Feature: Default Values for base tree Fix: interface panel doesn't have an identifier Fix: make default values work with more socket types this commit also improves the error message and it unfortunately(?) adds an assert from something I think is a safe assumption. Initialize Tree with correct version number WIP: Route Group I/O through interface nodes This commit does not work! But it is a good start. The purpose of this commit is to move towards bundling connections at the base of each group in/out so that I can cache things, manage variables, and most importantly for present purposes, send arrays in and out in a more consistent way. Probably I revert this commit and do something very similar without the intervening node until I get that slightly simpler strategy working. GroupInterfaceNodes at group in/out This commit fixes and finishes the last commit. All I forgot was to add the nodes to the parsed tree, and deal with a little bit of hardcoded foolishness that assumed there would be no intervening nodes using socket traversal. There will be more fixing for this behaviour in the near future, no doubt. But this works, and it opens up a whole lot of doors. clean up useless prints Fix: remove many instances of hardcoded node get search ".link[0]" to find the rest of them and fix before release for now, the matter of array sort id is much more pressing Fix: Correctly Sort Links to Group Arrays Look at the comment in readtree to understand this commit Special note: this really needs more robust testing but since I have tested stuff that I understand the only test cases I am unsure about are those which are too hard for me to imagine ahead of time. So probably I fix it if/when someone actually encounters it. cleanup xForm get_parent_node Fix: lazy parents broken Fix: Spline IK broken

3 месяцев назад

ns запушил(а) master в ns/mantis

  • 17c6920b48 Compatibility improvements for 5.0
  • 5233a77c94 Custom Properties Nodes (for all xForms!) this is a really big commit, but I did test it pretty thoroughly it adds custom properties to all xForms by way of a new Custom Properties inputon xForm nodes and a new Custom Property node which allows the user to declare these custom properties using nodes. This will make it possible to build e.g. parent switches with the right property min/max for the number of parents in the input array. Next task: custom properties for 5.0
  • Просмотр сравнение для этих 2 коммитов »

3 месяцев назад

ns запушил(а) master в ns/mantis

  • b4ad5bfeff Add profiler to help optimize nodes most of the code for this patch was written by chatGPT i am not a huge fan of LLMs but I see it as a tool to help me save dev time and deliver better results, faster for my beloved users
  • b2507f4983 Refactor: xForm_info data class for setting parents This is a pretty BIG refactor that changes the way xForms set their parents Now, we send parenting info in the node and push it down the links. Setting parents is a bit cleaner since we can look up the info directly from the strings, instead of seeking backward through the tree and getting the info from the mantis node directly We still need to do some seeking through the tree, unfortunately, but in time even that will be refactored out. This seems to perform equivalently or *maybe* a tiny bit faster than before the commit. Finally, I think the code is a little less bad now, even though there is some ugly stuff I had to do. Whatever. It's an important step.
  • ead2ed726a add utility function to clear traverse targets
  • d2a048a2b7 Fix Vector Division
  • 18522fe086 lots of renamed variables, functions, etc
  • Просмотр сравнение для этих 7 коммитов »

3 месяцев назад

ns запушил(а) testing в ns/mantis

  • b36fe4d22b v 0.13.0 Beta
  • c37cd0df75 WIP string variables string variables work in the simplest case already all the trouble comes from the stuff that is in schemas or made at runtime so I have a lot of complex stuff to figure out and even more important: to figure out how the user interacts for example: should frame variables be inherited or not? do I need a way to get this stuff recursively? then how do i evaluate a string from a node in a different frame? I would need to use THAT node to look up the variables, right? NO SPOOKY stuff can be allowed anyhow this is a WIP, might forget about this for a while and come back some unsaved stuff I forgot to add. trash? Fix Schema fail when Group linked to In/Outgoing The problem was that I was attempting to get the next node but it hadn't been generated yet because it was in a node group There was never a problem with outgoing connection after all it was only handling the held link from the outgoing connection that was messed up, and only then if the next node was a group! oddly, it did work in some situations with the old code because the node groups were generated. this code maybe could be cleaned up by forcing the node group to generate as soon as it is encountered but I think this solution, though less elegant, is better since I can then deal with the connection to the node group which is already handled well elsewhere. So this doesn't add complexity or modify the schema solve as a system. Fix syntax error Get String Variables at Execution Time Cleanup misguided changes in DummyNode
  • 3b5e420b37 Add Custom Interface Socket Types this commit (re)introduces custom node socket interface types I did this a long time ago but didn't really understand it so I let Blender do it automatically But I am bringing it back because it lets me set some custom variables for different socket types, such as default values or whether the socket should be an array or not. Interface Classes set the multi and default value now note that this is VERY untested and probably doesn't work for Schema update interface draw for correct UI and clarity removes default value from xForm for outputs removes array if interface item is a connection and visa versa fix: unbound local error when updating group interface initial versioning for new interface classes Implement Custom Interface Classes this commit implements versioning and basic functionality for - default values on group sockets - arrays and connections editable in the Node Group Interface - array support for regular Node Groups tested and working with Human, Elephant, and Stego files. Disable "Connected To" feature this one is a little too ambitious and it will be too hard to implement Fix: default value disabled for Matrix (it is not yet implemented) Fix: correct default value type for vectors New Feature: Default Values for base tree Fix: interface panel doesn't have an identifier Fix: make default values work with more socket types this commit also improves the error message and it unfortunately(?) adds an assert from something I think is a safe assumption. Initialize Tree with correct version number WIP: Route Group I/O through interface nodes This commit does not work! But it is a good start. The purpose of this commit is to move towards bundling connections at the base of each group in/out so that I can cache things, manage variables, and most importantly for present purposes, send arrays in and out in a more consistent way. Probably I revert this commit and do something very similar without the intervening node until I get that slightly simpler strategy working. GroupInterfaceNodes at group in/out This commit fixes and finishes the last commit. All I forgot was to add the nodes to the parsed tree, and deal with a little bit of hardcoded foolishness that assumed there would be no intervening nodes using socket traversal. There will be more fixing for this behaviour in the near future, no doubt. But this works, and it opens up a whole lot of doors. clean up useless prints Fix: remove many instances of hardcoded node get search ".link[0]" to find the rest of them and fix before release for now, the matter of array sort id is much more pressing Fix: Correctly Sort Links to Group Arrays Look at the comment in readtree to understand this commit Special note: this really needs more robust testing but since I have tested stuff that I understand the only test cases I am unsure about are those which are too hard for me to imagine ahead of time. So probably I fix it if/when someone actually encounters it. cleanup xForm get_parent_node Fix: lazy parents broken Fix: Spline IK broken
  • 965c6c48d6 v0.12.28 revert unhelpful broken patch
  • d0d622a238 Revert "Fix: Nested Choose fails when linked to group output" This reverts commit 003e6b573a83e162d5655117101c641158fcadfa. it was causing unforeseen problems in people's nodes and I need to have a more robust solution:

3 месяцев назад

ns создал новую ветку testing в ns/mantis

3 месяцев назад

ns запушил(а) custom_interface_classes в ns/mantis

  • 4ac2bc26ff Fix: Spline IK broken
  • 08317304ff Fix: lazy parents broken
  • 2b42688fd6 cleanup xForm get_parent_node
  • ceb2ba967e Fix: Correctly Sort Links to Group Arrays Look at the comment in readtree to understand this commit Special note: this really needs more robust testing but since I have tested stuff that I understand the only test cases I am unsure about are those which are too hard for me to imagine ahead of time. So probably I fix it if/when someone actually encounters it.
  • 24ce4568e5 Fix: remove many instances of hardcoded node get search ".link[0]" to find the rest of them and fix before release for now, the matter of array sort id is much more pressing
  • Просмотр сравнение для этих 44 коммитов »

3 месяцев назад

ns запушил(а) string_variables в ns/mantis

  • bb161c0f79 v 0.13.0 Beta
  • 2f545bea82 Cleanup misguided changes in DummyNode
  • 909a4fe43e Get String Variables at Execution Time
  • 9c3089b090 Fix syntax error
  • 49b4285bb4 Fix Schema fail when Group linked to In/Outgoing The problem was that I was attempting to get the next node but it hadn't been generated yet because it was in a node group There was never a problem with outgoing connection after all it was only handling the held link from the outgoing connection that was messed up, and only then if the next node was a group! oddly, it did work in some situations with the old code because the node groups were generated. this code maybe could be cleaned up by forcing the node group to generate as soon as it is encountered but I think this solution, though less elegant, is better since I can then deal with the connection to the node group which is already handled well elsewhere. So this doesn't add complexity or modify the schema solve as a system.
  • Просмотр сравнение для этих 56 коммитов »

3 месяцев назад

ns запушил(а) master в ns/mantis

3 месяцев назад

ns запушил(а) custom_interface_classes в ns/mantis

  • 7251a054fc Fix: Spline IK broken
  • ca5229b5c8 Fix: lazy parents broken
  • 234a1fba6b cleanup xForm get_parent_node
  • 38acf70638 Fix: Correctly Sort Links to Group Arrays Look at the comment in readtree to understand this commit Special note: this really needs more robust testing but since I have tested stuff that I understand the only test cases I am unsure about are those which are too hard for me to imagine ahead of time. So probably I fix it if/when someone actually encounters it.
  • ce5f91bdb9 Fix: remove many instances of hardcoded node get search ".link[0]" to find the rest of them and fix before release for now, the matter of array sort id is much more pressing
  • Просмотр сравнение для этих 40 коммитов »

3 месяцев назад

ns запушил(а) master в ns/mantis

3 месяцев назад