nodebpy 520.30.0__tar.gz → 520.30.1__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 (92) hide show
  1. {nodebpy-520.30.0 → nodebpy-520.30.1}/PKG-INFO +1 -1
  2. {nodebpy-520.30.0 → nodebpy-520.30.1}/pyproject.toml +1 -1
  3. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/export/codegen.py +8 -4
  4. nodebpy-520.30.1/src/nodebpy/py.typed +0 -0
  5. {nodebpy-520.30.0 → nodebpy-520.30.1}/README.md +0 -0
  6. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/__init__.py +0 -0
  7. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/assets/__init__.py +0 -0
  8. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/assets/__main__.py +0 -0
  9. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/assets/_codegen.py +0 -0
  10. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/assets/_library.py +0 -0
  11. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/assets/_pipeline.py +0 -0
  12. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/builder/__init__.py +0 -0
  13. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/builder/_registry.py +0 -0
  14. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/builder/_socket_order.py +0 -0
  15. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/builder/_utils.py +0 -0
  16. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/builder/accessor.py +0 -0
  17. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/builder/asset.py +0 -0
  18. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/builder/items.py +0 -0
  19. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/builder/layout.py +0 -0
  20. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/builder/mixins.py +0 -0
  21. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/builder/node.py +0 -0
  22. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/builder/socket.py +0 -0
  23. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/builder/tree.py +0 -0
  24. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/export/__init__.py +0 -0
  25. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/export/_floats.py +0 -0
  26. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/export/diagram.py +0 -0
  27. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/export/parity.py +0 -0
  28. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/export/plot.py +0 -0
  29. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/export/web_render.py +0 -0
  30. /nodebpy-520.30.0/src/nodebpy/py.typed → /nodebpy-520.30.1/src/nodebpy/lib/__init__.py +0 -0
  31. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/lib/nodearrange/VENDORED.md +0 -0
  32. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/lib/nodearrange/__init__.py +0 -0
  33. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/lib/nodearrange/arrange/__init__.py +0 -0
  34. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/lib/nodearrange/arrange/balancing.py +0 -0
  35. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/lib/nodearrange/arrange/graph.py +0 -0
  36. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/lib/nodearrange/arrange/ordering.py +0 -0
  37. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/lib/nodearrange/arrange/ranking.py +0 -0
  38. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/lib/nodearrange/arrange/realize.py +0 -0
  39. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/lib/nodearrange/arrange/stacking.py +0 -0
  40. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/lib/nodearrange/arrange/structs.py +0 -0
  41. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/lib/nodearrange/arrange/sugiyama.py +0 -0
  42. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/lib/nodearrange/arrange/x_coords.py +0 -0
  43. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/lib/nodearrange/arrange/y_coords.py +0 -0
  44. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/lib/nodearrange/config.py +0 -0
  45. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/lib/nodearrange/utils.py +0 -0
  46. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/live.py +0 -0
  47. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/__init__.py +0 -0
  48. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/_mixins.py +0 -0
  49. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/compositor/__init__.py +0 -0
  50. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/compositor/assets.py +0 -0
  51. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/compositor/color.py +0 -0
  52. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/compositor/converter.py +0 -0
  53. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/compositor/distort.py +0 -0
  54. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/compositor/filter.py +0 -0
  55. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/compositor/group.py +0 -0
  56. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/compositor/input.py +0 -0
  57. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/compositor/interface.py +0 -0
  58. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/compositor/manual.py +0 -0
  59. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/compositor/matte.py +0 -0
  60. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/compositor/output.py +0 -0
  61. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/compositor/vector.py +0 -0
  62. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/geometry/__init__.py +0 -0
  63. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/geometry/assets.py +0 -0
  64. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/geometry/attribute.py +0 -0
  65. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/geometry/color.py +0 -0
  66. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/geometry/converter.py +0 -0
  67. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/geometry/geometry.py +0 -0
  68. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/geometry/grid.py +0 -0
  69. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/geometry/group.py +0 -0
  70. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/geometry/groups.py +0 -0
  71. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/geometry/input.py +0 -0
  72. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/geometry/interface.py +0 -0
  73. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/geometry/manual.py +0 -0
  74. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/geometry/output.py +0 -0
  75. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/geometry/texture.py +0 -0
  76. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/geometry/utilities.py +0 -0
  77. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/geometry/vector.py +0 -0
  78. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/geometry/zone.py +0 -0
  79. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/shader/__init__.py +0 -0
  80. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/shader/assets.py +0 -0
  81. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/shader/color.py +0 -0
  82. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/shader/converter.py +0 -0
  83. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/shader/grid.py +0 -0
  84. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/shader/group.py +0 -0
  85. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/shader/input.py +0 -0
  86. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/shader/manual.py +0 -0
  87. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/shader/output.py +0 -0
  88. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/shader/script.py +0 -0
  89. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/shader/shader.py +0 -0
  90. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/shader/texture.py +0 -0
  91. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/nodes/shader/vector.py +0 -0
  92. {nodebpy-520.30.0 → nodebpy-520.30.1}/src/nodebpy/types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: nodebpy
3
- Version: 520.30.0
3
+ Version: 520.30.1
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.30.0"
3
+ version = "520.30.1"
4
4
  description = "Build nodes trees in Blender more elegantly with code"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -1775,7 +1775,7 @@ def _factory_call(
1775
1775
  from the node's value get explicit literal kwargs.
1776
1776
  """
1777
1777
  skip_key = _normalize(skip_input_id) if skip_input_id else None
1778
- best: tuple[_Factory, dict[str, Expr]] | None = None
1778
+ best: tuple[_Factory, dict[str, Expr], tuple[int, int]] | None = None
1779
1779
 
1780
1780
  for factory in _class_factories(cls):
1781
1781
  if not _factory_state_matches(node, factory.props):
@@ -1828,17 +1828,21 @@ def _factory_call(
1828
1828
  continue
1829
1829
  if not _eq(socket.default_value, default):
1830
1830
  call_kwargs[param] = Lit(socket.default_value)
1831
- if faithful and (best is None or len(factory.props) > len(best[0].props)):
1831
+ # Prefer the factory baking the most constants; on a tie, the one
1832
+ # passing fewest properties through (``DeleteGeometry.edge()`` over
1833
+ # ``DeleteGeometry.all(domain="EDGE")``).
1834
+ rank = (len(factory.props), -len(passed))
1835
+ if faithful and (best is None or rank > best[2]):
1832
1836
  ordered = {
1833
1837
  param: call_kwargs[param]
1834
1838
  for param in factory.param_defaults
1835
1839
  if param in call_kwargs
1836
1840
  }
1837
- best = (factory, ordered)
1841
+ best = (factory, ordered, rank)
1838
1842
 
1839
1843
  if best is None:
1840
1844
  return None
1841
- factory, call_kwargs = best
1845
+ factory, call_kwargs, _ = best
1842
1846
  # Leading consecutive parameters render positionally (g.Math.sine(x)),
1843
1847
  # matching how factory shortcuts are written by hand.
1844
1848
  args: list[Expr] = []
File without changes
File without changes