Monkey Patching
(猴子补丁)的代码,在新模型下很可能失效。值得注意的是,此 PR
带来的执行性能已超越多数主流 Monkey Patching
方案,因此许多此类补丁已无必要。
PR
更新前,系统仅对那些完全通过一连串 \"required\"
(必需)输入连接到输出节点的节点进行验证。如果您的自定义节点以往仅通过 \"optional\"
(可选)输入连接,那么之前可能并未发现其验证失败的情况。
\"required\"
(必需)输入,那么本节内容对您的影响可能不大。本节主要针对那些使用自定义数据类型,并且其节点仅通过 \"optional\"
(可选)输入进行连接的自定义节点开发者。min
和 max
)。
uiMin
和 uiMax
。(推荐方案)
CUSTOM_A,CUSTOM_B
)
MakeSmartType
的包装器 见于此 PR 的单元测试
input_types
参数,从而跳过类型验证。
@VariantSupport
装饰器 见于此 PR 的单元测试
[1, 2, 3]
)用作常量(例如,代表一个 VEC3
类型的常量输入)。此用法在旧版中需配合前端扩展。并且,此前大小恰好为 2
的列表本身就会导致失败——它们会被视为无效链接。
{ "value": [1, 2, 3] }
的字典中。ID
不同而变化,如今,缓存值的不同也可能导致执行顺序的改变。通常而言,除了图结构所固有的约束外,执行顺序应被视为不确定的,并可能随时调整。
切勿依赖特定的执行顺序。
HIC SUNT DRACONES
VALIDATE_INPUTS
函数新增了若干特性。
VALIDATE_INPUTS
函数接收的输入,系统将不再执行默认验证流程。VALIDATE_INPUTS
函数现支持接收 **kwargs
参数。一旦使用,节点创建者将被视为已自行处理所有输入的验证。VALIDATE_INPUTS
函数可以接收一个名为 input_types
的参数。该参数是一个字典,其中包含了每个通过链接接入的输入及其对应连接输出的类型。若定义了此参数,系统将跳过对该节点所有输入的类型验证。Lazy Evaluation
(惰性求值),即可以先判断是否确实需要某个输入值,再决定是否执行其连接的上游节点及其所有依赖节点。更多信息请参见惰性求值。