1
0

44 Commits 7251a054fc ... 4ac2bc26ff

Autor SHA1 Mensagem Data
  Joseph Brandenburg 4ac2bc26ff Fix: Spline IK broken 2 semanas atrás
  Joseph Brandenburg 08317304ff Fix: lazy parents broken 2 semanas atrás
  Joseph Brandenburg 2b42688fd6 cleanup xForm get_parent_node 2 semanas atrás
  Joseph Brandenburg ceb2ba967e Fix: Correctly Sort Links to Group Arrays 2 semanas atrás
  Joseph Brandenburg 24ce4568e5 Fix: remove many instances of hardcoded node get 2 semanas atrás
  Joseph Brandenburg f4ea8a2401 clean up useless prints 2 semanas atrás
  Joseph Brandenburg 587aaef964 GroupInterfaceNodes at group in/out 2 semanas atrás
  Brandenburg 3e0322a7f8 WIP: Route Group I/O through interface nodes 2 semanas atrás
  Joseph Brandenburg ad9b7853ac Initialize Tree with correct version number 3 semanas atrás
  Joseph Brandenburg 424013eed2 Fix: make default values work with more socket types 3 semanas atrás
  Joseph Brandenburg 859e92d74a Fix: interface panel doesn't have an identifier 3 semanas atrás
  Joseph Brandenburg 23edc1174c New Feature: Default Values for base tree 3 semanas atrás
  Joseph Brandenburg b0e073dd51 Fix: correct default value type for vectors 3 semanas atrás
  Joseph Brandenburg e6d33d0e9e Fix: default value disabled for Matrix 3 semanas atrás
  Joseph Brandenburg 53f245071d Disable "Connected To" feature 3 semanas atrás
  Joseph Brandenburg 781ead7d69 Implement Custom Interface Classes 3 semanas atrás
  Joseph Brandenburg 085644b047 initial versioning for new interface classes 3 semanas atrás
  Joseph Brandenburg ff7b1ac548 fix: unbound local error when updating group interface 3 semanas atrás
  Joseph Brandenburg eaa31abf8d update interface draw for correct UI and clarity 3 semanas atrás
  Joseph Brandenburg 6bedc7a7c9 Interface Classes set the multi and default value now 3 semanas atrás
  Joseph Brandenburg 2751aa447f Add Custom Interface Socket Types 3 semanas atrás
  Joseph Brandenburg 965c6c48d6 v0.12.28 revert unhelpful broken patch 2 semanas atrás
  Joseph Brandenburg d0d622a238 Revert "Fix: Nested Choose fails when linked to group output" 2 semanas atrás
  Joseph Brandenburg 7251a054fc Fix: Spline IK broken 2 semanas atrás
  Joseph Brandenburg ca5229b5c8 Fix: lazy parents broken 2 semanas atrás
  Joseph Brandenburg 234a1fba6b cleanup xForm get_parent_node 2 semanas atrás
  Joseph Brandenburg 38acf70638 Fix: Correctly Sort Links to Group Arrays 2 semanas atrás
  Joseph Brandenburg ce5f91bdb9 Fix: remove many instances of hardcoded node get 2 semanas atrás
  Joseph Brandenburg 0b6fe5d16a clean up useless prints 2 semanas atrás
  Joseph Brandenburg 3c5578c8f6 GroupInterfaceNodes at group in/out 2 semanas atrás
  Brandenburg 7267ed0429 WIP: Route Group I/O through interface nodes 2 semanas atrás
  Joseph Brandenburg 82bef638e8 Initialize Tree with correct version number 3 semanas atrás
  Joseph Brandenburg 6f7b47a52c Fix: make default values work with more socket types 3 semanas atrás
  Joseph Brandenburg 4ef2f84adb Fix: interface panel doesn't have an identifier 3 semanas atrás
  Joseph Brandenburg 781a3b11db New Feature: Default Values for base tree 3 semanas atrás
  Joseph Brandenburg fc4f0acc53 Fix: correct default value type for vectors 3 semanas atrás
  Joseph Brandenburg ae742144db Fix: default value disabled for Matrix 3 semanas atrás
  Joseph Brandenburg 8473d87d04 Disable "Connected To" feature 3 semanas atrás
  Joseph Brandenburg 8a2b0c8b36 Implement Custom Interface Classes 3 semanas atrás
  Joseph Brandenburg e70192469c initial versioning for new interface classes 3 semanas atrás
  Joseph Brandenburg ebd7b7fd65 fix: unbound local error when updating group interface 3 semanas atrás
  Joseph Brandenburg 161e3b37eb update interface draw for correct UI and clarity 3 semanas atrás
  Joseph Brandenburg b17bde021e Interface Classes set the multi and default value now 3 semanas atrás
  Joseph Brandenburg 252574a681 Add Custom Interface Socket Types 3 semanas atrás
3 arquivos alterados com 10 adições e 16 exclusões
  1. 2 1
      .gitignore
  2. 1 1
      blender_manifest.toml
  3. 7 14
      schema_solve.py

+ 2 - 1
.gitignore

@@ -6,4 +6,5 @@ index.json
 mantis.zip
 mantis.*.zip
 widgets/*
-components/*
+components/*
+mantis_beta.zip

+ 1 - 1
blender_manifest.toml

@@ -3,7 +3,7 @@ schema_version = "1.0.0"
 # Example of manifest file for a Blender extension
 # Change the values according to your extension
 id = "mantis"
-version = "0.12.27"
+version = "0.12.28"
 name = "Mantis"
 tagline = "Mantis is a rigging nodes toolkit"
 maintainer = "Nodespaghetti <josephbburg@protonmail.com>"

+ 7 - 14
schema_solve.py

@@ -313,7 +313,7 @@ class SchemaSolver:
         from_node = self.schema_nodes[(*self.node.ui_signature, from_ui_node.bl_idname)]
         from collections import deque
         unprepared = deque(from_node.hierarchy_dependencies)
-        self.prepare_nodes(unprepared, frame_mantis_nodes)
+        self.prepare_nodes(unprepared)
         from .utilities import cap, wrap
         get_index = from_node.evaluate_input("Index", self.index) # get the most recent link
         # getting the link at self.index just saves the trouble of killing the old links
@@ -515,22 +515,15 @@ class SchemaSolver:
                 return False
         return True
 
-    def prepare_nodes(self, unprepared, frame_nodes):
+    def prepare_nodes(self, unprepared):
         # At this point, we've already run a pretty exhaustive preperation phase to prep the schema's dependencies
         # So we should not need to add any new dependencies unless there is a bug elsewhere.
         # and in fact, I could skip this in some cases, and should investigate if profiling reveals a slowdown here.
-        from .misc_nodes import UtilityChoose, UtilityKDChoosePoint, UtilityKDChooseXForm
-        forbidden=set() # forbid some nodes - they aren't necessary to solve the schema & cause problems.
+        forbidden=set()
+        e = None
+        # forbid some nodes - they aren't necessary to solve the schema & cause problems.
         while unprepared:
             nc = unprepared.pop()
-            if isinstance(nc, (UtilityChoose, UtilityKDChoosePoint, UtilityKDChooseXForm)): 
-                can_skip=True                 # NOTE: this bug can also be fixed by adding
-                for output in nc.outputs:     # a no-op node between the choose and the output.
-                    for l in output.links:    # try that instead if this causes problems.
-                        if l.to_node in frame_nodes.values():
-                            can_skip = False; break
-                    if can_skip == False: break # don't keep looking
-                if can_skip: continue # do nothing because its links are not ready.
             if nc.node_type == 'DUMMY_SCHEMA' and not self.test_is_sub_schema(nc):
                 forbidden.add(nc) # do NOT add this as a dependency.
             if nc in forbidden: continue # trying to resolve dependencies for.
@@ -678,7 +671,7 @@ class SchemaSolver:
             if node.node_type == 'DUMMY_SCHEMA' and (schema_len_in := node.inputs.get("Schema Length")):
                 for l in schema_len_in.links:
                     unprepared.append(l.from_node)
-            self.prepare_nodes(unprepared, frame_mantis_nodes)
+            self.prepare_nodes(unprepared)
 
         # We have to prepare the nodes leading to Array Input Get
         for ui_link in array_input_get_link:
@@ -708,7 +701,7 @@ class SchemaSolver:
                 unprepared.extend(from_node.hierarchy_dependencies)
             else:
                 raise RuntimeError(" 671 there has been an error parsing the tree. Please report this as a bug.")
-            self.prepare_nodes(unprepared, frame_mantis_nodes) # prepare only the dependencies we need for this link
+            self.prepare_nodes(unprepared) # prepare only the dependencies we need for this link
             # and handle the output by the specific type
             if isinstance(to_ui_node, (SchemaConstOutput, NodeGroupOutput)):
                 self.handle_link_to_constant_output(frame_mantis_nodes, self.index, ui_link,  to_ui_node)