Currently Geometry Scripts supports default values for the args in the tree function. This PR allows to use alternatively an InputOption based object instead, which supports all relevant options from the Geometry Node Editor / Group / Inputs options panel. Currently supported are: IntOptions, FloatOptions and VectorOptions.
For the vector default value, it was not possible to use tuple or [], because a typing definition like:
default: {float, float, float} | None = None
is not supported by the Python typing system.
The subtype option I only managed to set by using an operator (which needs a specific context). That means running the geometry script containing subtype options has to be done in the same blender workspace as the Geometry Node Editor. That means running a script in default Blender setup with Text Editor in the scripting workspace, any subtype options will be silently ignored.
TODO:
if PR gets accepted, add some documentation
Extend the Geometry Script addon, so scripts can be run from the Geometry Nodes Editor (to avoid the possible subtype issue mentioned above). This probably makes most sense for external editing and maybe we could even go as far as integrating some ideas from the vscode-blender extension to facilitate multi-file projects with automatic reload/re-import
Currently Geometry Scripts supports default values for the args in the tree function. This PR allows to use alternatively an
InputOption
based object instead, which supports all relevant options from the Geometry Node Editor / Group / Inputs options panel. Currently supported are:IntOptions
,FloatOptions
andVectorOptions
.Example usage:
For the vector default value, it was not possible to use
tuple
or[]
, because a typing definition like:is not supported by the Python typing system.
The
subtype
option I only managed to set by using an operator (which needs a specific context). That means running the geometry script containing subtype options has to be done in the same blender workspace as the Geometry Node Editor. That means running a script in default Blender setup with Text Editor in the scripting workspace, anysubtype
options will be silently ignored.TODO: