nodebpy 520.22.0__tar.gz → 520.23.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.22.0 → nodebpy-520.23.0}/PKG-INFO +1 -1
  2. {nodebpy-520.22.0 → nodebpy-520.23.0}/pyproject.toml +1 -1
  3. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/export/codegen.py +12 -3
  4. {nodebpy-520.22.0 → nodebpy-520.23.0}/README.md +0 -0
  5. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/__init__.py +0 -0
  6. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/assets/__init__.py +0 -0
  7. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/assets/__main__.py +0 -0
  8. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/assets/_codegen.py +0 -0
  9. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/assets/_library.py +0 -0
  10. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/assets/_pipeline.py +0 -0
  11. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/builder/__init__.py +0 -0
  12. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/builder/_registry.py +0 -0
  13. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/builder/_utils.py +0 -0
  14. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/builder/accessor.py +0 -0
  15. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/builder/asset.py +0 -0
  16. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/builder/items.py +0 -0
  17. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/builder/layout.py +0 -0
  18. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/builder/mixins.py +0 -0
  19. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/builder/node.py +0 -0
  20. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/builder/socket.py +0 -0
  21. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/builder/tree.py +0 -0
  22. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/export/__init__.py +0 -0
  23. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/export/diagram.py +0 -0
  24. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/export/parity.py +0 -0
  25. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/export/plot.py +0 -0
  26. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/export/web_render.py +0 -0
  27. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/lib/nodearrange/VENDORED.md +0 -0
  28. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/lib/nodearrange/__init__.py +0 -0
  29. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/lib/nodearrange/arrange/__init__.py +0 -0
  30. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/lib/nodearrange/arrange/graph.py +0 -0
  31. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/lib/nodearrange/arrange/ordering.py +0 -0
  32. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/lib/nodearrange/arrange/ranking.py +0 -0
  33. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/lib/nodearrange/arrange/realize.py +0 -0
  34. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/lib/nodearrange/arrange/stacking.py +0 -0
  35. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/lib/nodearrange/arrange/structs.py +0 -0
  36. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/lib/nodearrange/arrange/sugiyama.py +0 -0
  37. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/lib/nodearrange/arrange/x_coords.py +0 -0
  38. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/lib/nodearrange/arrange/y_coords.py +0 -0
  39. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/lib/nodearrange/config.py +0 -0
  40. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/lib/nodearrange/utils.py +0 -0
  41. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/__init__.py +0 -0
  42. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/_mixins.py +0 -0
  43. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/compositor/__init__.py +0 -0
  44. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/compositor/assets.py +0 -0
  45. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/compositor/color.py +0 -0
  46. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/compositor/converter.py +0 -0
  47. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/compositor/distort.py +0 -0
  48. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/compositor/filter.py +0 -0
  49. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/compositor/group.py +0 -0
  50. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/compositor/input.py +0 -0
  51. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/compositor/interface.py +0 -0
  52. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/compositor/manual.py +0 -0
  53. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/compositor/matte.py +0 -0
  54. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/compositor/output.py +0 -0
  55. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/compositor/vector.py +0 -0
  56. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/geometry/__init__.py +0 -0
  57. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/geometry/assets.py +0 -0
  58. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/geometry/attribute.py +0 -0
  59. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/geometry/color.py +0 -0
  60. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/geometry/converter.py +0 -0
  61. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/geometry/geometry.py +0 -0
  62. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/geometry/grid.py +0 -0
  63. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/geometry/group.py +0 -0
  64. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/geometry/groups.py +0 -0
  65. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/geometry/input.py +0 -0
  66. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/geometry/interface.py +0 -0
  67. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/geometry/manual.py +0 -0
  68. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/geometry/output.py +0 -0
  69. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/geometry/texture.py +0 -0
  70. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/geometry/utilities.py +0 -0
  71. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/geometry/vector.py +0 -0
  72. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/geometry/zone.py +0 -0
  73. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/shader/__init__.py +0 -0
  74. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/shader/assets.py +0 -0
  75. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/shader/color.py +0 -0
  76. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/shader/converter.py +0 -0
  77. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/shader/grid.py +0 -0
  78. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/shader/group.py +0 -0
  79. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/shader/input.py +0 -0
  80. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/shader/manual.py +0 -0
  81. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/shader/output.py +0 -0
  82. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/shader/script.py +0 -0
  83. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/shader/shader.py +0 -0
  84. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/shader/texture.py +0 -0
  85. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/nodes/shader/vector.py +0 -0
  86. {nodebpy-520.22.0 → nodebpy-520.23.0}/src/nodebpy/types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: nodebpy
3
- Version: 520.22.0
3
+ Version: 520.23.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.22.0"
3
+ version = "520.23.0"
4
4
  description = "Build nodes trees in Blender more elegantly with code"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -812,6 +812,15 @@ def _make_var(label: str, counter: dict[str, int]) -> str:
812
812
  return f"{base}_{counter[base]}"
813
813
 
814
814
 
815
+ def _node_var_label(node) -> str:
816
+ """The stem for a node's generated variable name. A group node's
817
+ ``bl_label`` is just "Group", so it reads as its group's name instead
818
+ (``inverse_mass = InverseMass()``)."""
819
+ if node.bl_idname in _GROUP_BASES and node.node_tree is not None:
820
+ return node.node_tree.name
821
+ return node.bl_label or "node"
822
+
823
+
815
824
  # ---------------------------------------------------------------------------
816
825
  # Graph utilities
817
826
  # ---------------------------------------------------------------------------
@@ -1203,7 +1212,7 @@ class EmitContext:
1203
1212
  vector feeding ``vec.x`` / ``vec.y``). The assignment is queued on
1204
1213
  ``pending_lines`` and flushed before the consuming statement.
1205
1214
  """
1206
- label = link.from_socket.name or link.from_node.bl_label or "value"
1215
+ label = link.from_socket.name or _node_var_label(link.from_node)
1207
1216
  var = _make_var(label, self.counter)
1208
1217
  self.pending_lines.append(f" {var} = {expr.render()}")
1209
1218
  ref = Ref(var)
@@ -4491,7 +4500,7 @@ def _emit_tree(node_tree, collector: _GroupCollector) -> _TreeEmission:
4491
4500
  f"Cannot generate code: {message}. Register an emitter "
4492
4501
  "with register_emitter() or pass strict=False."
4493
4502
  )
4494
- var = _make_var(node.bl_label or "node", ctx.counter)
4503
+ var = _make_var(_node_var_label(node), ctx.counter)
4495
4504
  if not ctx.outgoing.get(name):
4496
4505
  var = "_" + var
4497
4506
  ctx.var_map[name] = _Val(Ref(var))
@@ -4577,7 +4586,7 @@ def _emit_tree(node_tree, collector: _GroupCollector) -> _TreeEmission:
4577
4586
  consumed_out_links.add(id(link))
4578
4587
  continue
4579
4588
 
4580
- var = _make_var(node.bl_label or "node", ctx.counter)
4589
+ var = _make_var(_node_var_label(node), ctx.counter)
4581
4590
  # A node created purely for its side effect (a gizmo, a dangling
4582
4591
  # node) is never referenced again — prefix its variable so the
4583
4592
  # generated module passes lint (F841).
File without changes