nodebpy 520.23.0__tar.gz → 520.24.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. {nodebpy-520.23.0 → nodebpy-520.24.0}/PKG-INFO +1 -1
  2. {nodebpy-520.23.0 → nodebpy-520.24.0}/pyproject.toml +1 -1
  3. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/export/codegen.py +13 -2
  4. {nodebpy-520.23.0 → nodebpy-520.24.0}/README.md +0 -0
  5. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/__init__.py +0 -0
  6. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/assets/__init__.py +0 -0
  7. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/assets/__main__.py +0 -0
  8. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/assets/_codegen.py +0 -0
  9. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/assets/_library.py +0 -0
  10. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/assets/_pipeline.py +0 -0
  11. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/builder/__init__.py +0 -0
  12. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/builder/_registry.py +0 -0
  13. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/builder/_utils.py +0 -0
  14. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/builder/accessor.py +0 -0
  15. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/builder/asset.py +0 -0
  16. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/builder/items.py +0 -0
  17. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/builder/layout.py +0 -0
  18. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/builder/mixins.py +0 -0
  19. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/builder/node.py +0 -0
  20. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/builder/socket.py +0 -0
  21. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/builder/tree.py +0 -0
  22. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/export/__init__.py +0 -0
  23. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/export/diagram.py +0 -0
  24. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/export/parity.py +0 -0
  25. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/export/plot.py +0 -0
  26. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/export/web_render.py +0 -0
  27. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/lib/nodearrange/VENDORED.md +0 -0
  28. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/lib/nodearrange/__init__.py +0 -0
  29. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/lib/nodearrange/arrange/__init__.py +0 -0
  30. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/lib/nodearrange/arrange/graph.py +0 -0
  31. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/lib/nodearrange/arrange/ordering.py +0 -0
  32. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/lib/nodearrange/arrange/ranking.py +0 -0
  33. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/lib/nodearrange/arrange/realize.py +0 -0
  34. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/lib/nodearrange/arrange/stacking.py +0 -0
  35. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/lib/nodearrange/arrange/structs.py +0 -0
  36. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/lib/nodearrange/arrange/sugiyama.py +0 -0
  37. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/lib/nodearrange/arrange/x_coords.py +0 -0
  38. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/lib/nodearrange/arrange/y_coords.py +0 -0
  39. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/lib/nodearrange/config.py +0 -0
  40. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/lib/nodearrange/utils.py +0 -0
  41. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/__init__.py +0 -0
  42. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/_mixins.py +0 -0
  43. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/compositor/__init__.py +0 -0
  44. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/compositor/assets.py +0 -0
  45. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/compositor/color.py +0 -0
  46. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/compositor/converter.py +0 -0
  47. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/compositor/distort.py +0 -0
  48. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/compositor/filter.py +0 -0
  49. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/compositor/group.py +0 -0
  50. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/compositor/input.py +0 -0
  51. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/compositor/interface.py +0 -0
  52. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/compositor/manual.py +0 -0
  53. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/compositor/matte.py +0 -0
  54. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/compositor/output.py +0 -0
  55. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/compositor/vector.py +0 -0
  56. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/geometry/__init__.py +0 -0
  57. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/geometry/assets.py +0 -0
  58. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/geometry/attribute.py +0 -0
  59. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/geometry/color.py +0 -0
  60. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/geometry/converter.py +0 -0
  61. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/geometry/geometry.py +0 -0
  62. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/geometry/grid.py +0 -0
  63. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/geometry/group.py +0 -0
  64. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/geometry/groups.py +0 -0
  65. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/geometry/input.py +0 -0
  66. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/geometry/interface.py +0 -0
  67. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/geometry/manual.py +0 -0
  68. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/geometry/output.py +0 -0
  69. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/geometry/texture.py +0 -0
  70. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/geometry/utilities.py +0 -0
  71. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/geometry/vector.py +0 -0
  72. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/geometry/zone.py +0 -0
  73. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/shader/__init__.py +0 -0
  74. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/shader/assets.py +0 -0
  75. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/shader/color.py +0 -0
  76. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/shader/converter.py +0 -0
  77. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/shader/grid.py +0 -0
  78. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/shader/group.py +0 -0
  79. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/shader/input.py +0 -0
  80. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/shader/manual.py +0 -0
  81. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/shader/output.py +0 -0
  82. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/shader/script.py +0 -0
  83. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/shader/shader.py +0 -0
  84. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/shader/texture.py +0 -0
  85. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/nodes/shader/vector.py +0 -0
  86. {nodebpy-520.23.0 → nodebpy-520.24.0}/src/nodebpy/types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: nodebpy
3
- Version: 520.23.0
3
+ Version: 520.24.0
4
4
  Summary: Build nodes trees in Blender more elegantly with code
5
5
  Author: Brady Johnston
6
6
  Author-email: Brady Johnston <brady.johnston@me.com>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "nodebpy"
3
- version = "520.23.0"
3
+ version = "520.24.0"
4
4
  description = "Build nodes trees in Blender more elegantly with code"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -946,9 +946,20 @@ def _ordering_edges(node_tree, keep_reroutes: bool = False):
946
946
  """(from, to) node pairs that must hold in emission order: effective
947
947
  links (canonical order, reroutes collapsed) plus a synthetic edge from
948
948
  each zone input node to its paired output, so the zone wrapper is
949
- declared before the output side is emitted."""
949
+ declared before the output side is emitted.
950
+
951
+ Links from Group Input nodes impose no order: they render as interface
952
+ references (bound in the interface block, before any node emits), and
953
+ a tree holding several instances (split inputs) must not let the
954
+ instances' names gate their consumers' readiness in the lexicographic
955
+ topological sort — which instance feeds a consumer follows link
956
+ creation order, so emission order would depend on the previous
957
+ emission and oscillate across dump → build round trips."""
950
958
  for link in _effective_links(node_tree, keep_reroutes):
951
- if link.from_node != link.to_node:
959
+ if (
960
+ link.from_node != link.to_node
961
+ and link.from_node.bl_idname != "NodeGroupInput"
962
+ ):
952
963
  yield link.from_node, link.to_node
953
964
  for node in node_tree.nodes:
954
965
  paired = getattr(node, "paired_output", None)
File without changes