nodebpy 520.30.0__tar.gz → 520.30.2__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.
- {nodebpy-520.30.0 → nodebpy-520.30.2}/PKG-INFO +1 -1
- {nodebpy-520.30.0 → nodebpy-520.30.2}/pyproject.toml +1 -1
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/export/codegen.py +14 -4
- nodebpy-520.30.2/src/nodebpy/py.typed +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/README.md +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/__init__.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/assets/__init__.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/assets/__main__.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/assets/_codegen.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/assets/_library.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/assets/_pipeline.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/builder/__init__.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/builder/_registry.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/builder/_socket_order.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/builder/_utils.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/builder/accessor.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/builder/asset.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/builder/items.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/builder/layout.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/builder/mixins.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/builder/node.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/builder/socket.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/builder/tree.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/export/__init__.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/export/_floats.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/export/diagram.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/export/parity.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/export/plot.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/export/web_render.py +0 -0
- /nodebpy-520.30.0/src/nodebpy/py.typed → /nodebpy-520.30.2/src/nodebpy/lib/__init__.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/lib/nodearrange/VENDORED.md +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/lib/nodearrange/__init__.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/lib/nodearrange/arrange/__init__.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/lib/nodearrange/arrange/balancing.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/lib/nodearrange/arrange/graph.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/lib/nodearrange/arrange/ordering.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/lib/nodearrange/arrange/ranking.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/lib/nodearrange/arrange/realize.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/lib/nodearrange/arrange/stacking.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/lib/nodearrange/arrange/structs.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/lib/nodearrange/arrange/sugiyama.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/lib/nodearrange/arrange/x_coords.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/lib/nodearrange/arrange/y_coords.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/lib/nodearrange/config.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/lib/nodearrange/utils.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/live.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/__init__.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/_mixins.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/compositor/__init__.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/compositor/assets.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/compositor/color.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/compositor/converter.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/compositor/distort.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/compositor/filter.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/compositor/group.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/compositor/input.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/compositor/interface.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/compositor/manual.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/compositor/matte.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/compositor/output.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/compositor/vector.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/geometry/__init__.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/geometry/assets.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/geometry/attribute.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/geometry/color.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/geometry/converter.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/geometry/geometry.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/geometry/grid.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/geometry/group.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/geometry/groups.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/geometry/input.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/geometry/interface.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/geometry/manual.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/geometry/output.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/geometry/texture.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/geometry/utilities.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/geometry/vector.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/geometry/zone.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/shader/__init__.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/shader/assets.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/shader/color.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/shader/converter.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/shader/grid.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/shader/group.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/shader/input.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/shader/manual.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/shader/output.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/shader/script.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/shader/shader.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/shader/texture.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/nodes/shader/vector.py +0 -0
- {nodebpy-520.30.0 → nodebpy-520.30.2}/src/nodebpy/types.py +0 -0
|
@@ -1757,6 +1757,7 @@ def _factory_state_matches(node, props: dict[str, Any]) -> bool:
|
|
|
1757
1757
|
# baking behavioural props (``operation``, ``mode``, …) keep requiring a
|
|
1758
1758
|
# non-default state, as before.
|
|
1759
1759
|
_TYPE_FACTORY_PROPS = frozenset({"data_type", "domain", "input_type", "socket_type"})
|
|
1760
|
+
_DATA_TYPE_PROPS = frozenset({"data_type", "input_type", "socket_type"})
|
|
1760
1761
|
|
|
1761
1762
|
|
|
1762
1763
|
def _factory_call(
|
|
@@ -1775,7 +1776,7 @@ def _factory_call(
|
|
|
1775
1776
|
from the node's value get explicit literal kwargs.
|
|
1776
1777
|
"""
|
|
1777
1778
|
skip_key = _normalize(skip_input_id) if skip_input_id else None
|
|
1778
|
-
best: tuple[_Factory, dict[str, Expr]] | None = None
|
|
1779
|
+
best: tuple[_Factory, dict[str, Expr], tuple[bool, int, int]] | None = None
|
|
1779
1780
|
|
|
1780
1781
|
for factory in _class_factories(cls):
|
|
1781
1782
|
if not _factory_state_matches(node, factory.props):
|
|
@@ -1828,17 +1829,26 @@ def _factory_call(
|
|
|
1828
1829
|
continue
|
|
1829
1830
|
if not _eq(socket.default_value, default):
|
|
1830
1831
|
call_kwargs[param] = Lit(socket.default_value)
|
|
1831
|
-
|
|
1832
|
+
# Prefer a factory baking the data type (``GetBundleItem.float(...,
|
|
1833
|
+
# structure_type="SINGLE")`` over ``GetBundleItem.single(...)``),
|
|
1834
|
+
# then the most constants baked, then the fewest properties passed
|
|
1835
|
+
# through (``DeleteGeometry.edge()`` over ``.all(domain="EDGE")``).
|
|
1836
|
+
rank = (
|
|
1837
|
+
bool(_DATA_TYPE_PROPS & set(factory.props)),
|
|
1838
|
+
len(factory.props),
|
|
1839
|
+
-len(passed),
|
|
1840
|
+
)
|
|
1841
|
+
if faithful and (best is None or rank > best[2]):
|
|
1832
1842
|
ordered = {
|
|
1833
1843
|
param: call_kwargs[param]
|
|
1834
1844
|
for param in factory.param_defaults
|
|
1835
1845
|
if param in call_kwargs
|
|
1836
1846
|
}
|
|
1837
|
-
best = (factory, ordered)
|
|
1847
|
+
best = (factory, ordered, rank)
|
|
1838
1848
|
|
|
1839
1849
|
if best is None:
|
|
1840
1850
|
return None
|
|
1841
|
-
factory, call_kwargs = best
|
|
1851
|
+
factory, call_kwargs, _ = best
|
|
1842
1852
|
# Leading consecutive parameters render positionally (g.Math.sine(x)),
|
|
1843
1853
|
# matching how factory shortcuts are written by hand.
|
|
1844
1854
|
args: list[Expr] = []
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|