procfunc 0.30.0__tar.gz → 0.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 (87) hide show
  1. {procfunc-0.30.0/src/procfunc.egg-info → procfunc-0.30.1}/PKG-INFO +4 -4
  2. {procfunc-0.30.0 → procfunc-0.30.1}/README.md +2 -2
  3. {procfunc-0.30.0 → procfunc-0.30.1}/pyproject.toml +2 -2
  4. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/__init__.py +1 -1
  5. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/nodes/execute/util.py +1 -1
  6. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/transpiler/bpy_to_computegraph.py +6 -2
  7. {procfunc-0.30.0 → procfunc-0.30.1/src/procfunc.egg-info}/PKG-INFO +4 -4
  8. {procfunc-0.30.0 → procfunc-0.30.1}/LICENSE.md +0 -0
  9. {procfunc-0.30.0 → procfunc-0.30.1}/setup.cfg +0 -0
  10. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/color.py +0 -0
  11. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/compute_graph/__init__.py +0 -0
  12. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/compute_graph/compute_graph.py +0 -0
  13. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/compute_graph/node.py +0 -0
  14. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/compute_graph/operators_info.py +0 -0
  15. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/compute_graph/proxy.py +0 -0
  16. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/compute_graph/util.py +0 -0
  17. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/context.py +0 -0
  18. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/control.py +0 -0
  19. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/nodes/__init__.py +0 -0
  20. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/nodes/bindings_util.py +0 -0
  21. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/nodes/bpy_node_info.py +0 -0
  22. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/nodes/compositor.py +0 -0
  23. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/nodes/execute/construct_nodes.py +0 -0
  24. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/nodes/execute/construct_special_cases.py +0 -0
  25. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/nodes/execute/execute.py +0 -0
  26. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/nodes/execute/infer_runtime_data_type.py +0 -0
  27. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/nodes/func.py +0 -0
  28. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/nodes/geo.py +0 -0
  29. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/nodes/manifest.json +0 -0
  30. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/nodes/math.py +0 -0
  31. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/nodes/node_function.py +0 -0
  32. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/nodes/shader.py +0 -0
  33. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/nodes/types.py +0 -0
  34. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/ops/__init__.py +0 -0
  35. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/ops/_util.py +0 -0
  36. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/ops/addons.py +0 -0
  37. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/ops/attr.py +0 -0
  38. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/ops/collection.py +0 -0
  39. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/ops/curve.py +0 -0
  40. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/ops/file.py +0 -0
  41. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/ops/manifest.json +0 -0
  42. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/ops/mesh.py +0 -0
  43. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/ops/modifier.py +0 -0
  44. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/ops/object.py +0 -0
  45. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/ops/primitives/__init__.py +0 -0
  46. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/ops/primitives/camera.py +0 -0
  47. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/ops/primitives/curve.py +0 -0
  48. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/ops/primitives/light.py +0 -0
  49. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/ops/primitives/mesh.py +0 -0
  50. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/ops/uv.py +0 -0
  51. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/random.py +0 -0
  52. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/tracer/__init__.py +0 -0
  53. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/tracer/decorator.py +0 -0
  54. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/tracer/patch.py +0 -0
  55. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/tracer/proxy.py +0 -0
  56. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/tracer/trace.py +0 -0
  57. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/transforms/__init__.py +0 -0
  58. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/transforms/cleanup.py +0 -0
  59. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/transforms/convert.py +0 -0
  60. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/transforms/distribution.py +0 -0
  61. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/transforms/extract_materials.py +0 -0
  62. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/transforms/infer_distribution.py +0 -0
  63. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/transforms/parameters.py +0 -0
  64. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/transforms/util.py +0 -0
  65. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/transpiler/__init__.py +0 -0
  66. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/transpiler/codegen.py +0 -0
  67. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/transpiler/identifiers.py +0 -0
  68. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/transpiler/main.py +0 -0
  69. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/types.py +0 -0
  70. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/util/__init__.py +0 -0
  71. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/util/bpy_info.py +0 -0
  72. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/util/camera.py +0 -0
  73. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/util/keyframe.py +0 -0
  74. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/util/log.py +0 -0
  75. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/util/manifest.py +0 -0
  76. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/util/pytree.py +0 -0
  77. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc/util/teardown.py +0 -0
  78. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc.egg-info/SOURCES.txt +0 -0
  79. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc.egg-info/dependency_links.txt +0 -0
  80. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc.egg-info/requires.txt +0 -0
  81. {procfunc-0.30.0 → procfunc-0.30.1}/src/procfunc.egg-info/top_level.txt +0 -0
  82. {procfunc-0.30.0 → procfunc-0.30.1}/tests/test_asset.py +0 -0
  83. {procfunc-0.30.0 → procfunc-0.30.1}/tests/test_compute_graph.py +0 -0
  84. {procfunc-0.30.0 → procfunc-0.30.1}/tests/test_dedup_names.py +0 -0
  85. {procfunc-0.30.0 → procfunc-0.30.1}/tests/test_ops.py +0 -0
  86. {procfunc-0.30.0 → procfunc-0.30.1}/tests/test_pytree.py +0 -0
  87. {procfunc-0.30.0 → procfunc-0.30.1}/tests/test_trace.py +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: procfunc
3
- Version: 0.30.0
4
- Summary: A framework for compositional procedural generation
3
+ Version: 0.30.1
4
+ Summary: Function-Oriented Abstractions for Procedural 3D Generation in Python
5
5
  License-Expression: BSD-3-Clause
6
6
  Project-URL: Homepage, https://github.com/princeton-vl/procfunc
7
7
  Project-URL: Repository, https://github.com/princeton-vl/procfunc
@@ -24,8 +24,8 @@ Dynamic: license-file
24
24
  # ProcFunc: Function-Oriented Abstractions for Procedural 3D Generation in Python
25
25
 
26
26
  [**Documentation**](#documentation)
27
- | [**Research Paper**](#paper)
28
- | [**Documentation**](#paper)
27
+ | [**Research Paper**](https://arxiv.org/abs/2604.26943)
28
+ | [**Documentation**](https://procfunc.readthedocs.io)
29
29
  | [**Transpiling**](#transpile-a-blender-file-to-procfunc-code)
30
30
  | [**Experiments**](#experiments)
31
31
  | [**Contributing**](#contributing)
@@ -1,8 +1,8 @@
1
1
  # ProcFunc: Function-Oriented Abstractions for Procedural 3D Generation in Python
2
2
 
3
3
  [**Documentation**](#documentation)
4
- | [**Research Paper**](#paper)
5
- | [**Documentation**](#paper)
4
+ | [**Research Paper**](https://arxiv.org/abs/2604.26943)
5
+ | [**Documentation**](https://procfunc.readthedocs.io)
6
6
  | [**Transpiling**](#transpile-a-blender-file-to-procfunc-code)
7
7
  | [**Experiments**](#experiments)
8
8
  | [**Contributing**](#contributing)
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "procfunc"
7
- version = "0.30.0"
8
- description = "A framework for compositional procedural generation"
7
+ version = "0.30.1"
8
+ description = "Function-Oriented Abstractions for Procedural 3D Generation in Python"
9
9
  readme = "README.md"
10
10
  license = "BSD-3-Clause"
11
11
  requires-python = ">=3.11"
@@ -2,7 +2,7 @@
2
2
  # ensure this gets imported first so that mathutils etc is available even if later modules dont import bpy
3
3
  import bpy
4
4
 
5
- __version__ = "0.30.0"
5
+ __version__ = "0.30.1"
6
6
 
7
7
  from numpy.random import Generator as RNG
8
8
 
@@ -236,7 +236,7 @@ def assign_default_value(
236
236
  | bni.NodeDataType.MATERIAL
237
237
  | bni.NodeDataType.COLLECTION
238
238
  ):
239
- if isinstance(input_val, (t.MeshObject, t.Material, t.Collection)):
239
+ if isinstance(input_val, (t.Object, t.Material, t.Collection)):
240
240
  target_socket.default_value = input_val.item()
241
241
  else:
242
242
  target_socket.default_value = input_val
@@ -1124,9 +1124,13 @@ def parse_geo_modifier(
1124
1124
  if soc.in_out != "INPUT":
1125
1125
  continue
1126
1126
  if soc.identifier not in id_to_node:
1127
- raise ValueError(
1128
- f"Socket {soc.identifier=} {soc.name=} not found in {id_to_node.keys()}"
1127
+ # Interface declares this input but nothing inside the nodetree reads it
1128
+ # (e.g. NodeGroupInput's Geometry output is unlinked). Skip the subgraph
1129
+ # has no placeholder for it, so passing a kwarg would be a type error.
1130
+ logger.debug(
1131
+ f"Skipping unused modifier input {soc.name=} {soc.identifier=}"
1129
1132
  )
1133
+ continue
1130
1134
  parsed_name = id_to_node[soc.identifier].metadata.get("varname", None)
1131
1135
  assert parsed_name is not None, id_to_node[soc.identifier]
1132
1136
  inputs[parsed_name] = _parse_geomod_input(mod, name, node_curr, memo)
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: procfunc
3
- Version: 0.30.0
4
- Summary: A framework for compositional procedural generation
3
+ Version: 0.30.1
4
+ Summary: Function-Oriented Abstractions for Procedural 3D Generation in Python
5
5
  License-Expression: BSD-3-Clause
6
6
  Project-URL: Homepage, https://github.com/princeton-vl/procfunc
7
7
  Project-URL: Repository, https://github.com/princeton-vl/procfunc
@@ -24,8 +24,8 @@ Dynamic: license-file
24
24
  # ProcFunc: Function-Oriented Abstractions for Procedural 3D Generation in Python
25
25
 
26
26
  [**Documentation**](#documentation)
27
- | [**Research Paper**](#paper)
28
- | [**Documentation**](#paper)
27
+ | [**Research Paper**](https://arxiv.org/abs/2604.26943)
28
+ | [**Documentation**](https://procfunc.readthedocs.io)
29
29
  | [**Transpiling**](#transpile-a-blender-file-to-procfunc-code)
30
30
  | [**Experiments**](#experiments)
31
31
  | [**Contributing**](#contributing)
File without changes
File without changes
File without changes
File without changes
File without changes