DisplayList 列表展开展示与动态引脚解包节点
节点核心功能 (What is it?)
DisplayList 节点是一个实用的列表解构与可视化探针工具节点。它接收一个列表作为输入,并自动为列表中的每一个子元素动态创建独立的专属输出引脚。同时,该节点底层能够智能识别各个子元素的具体数据类型,并为每个输出参数赋予精准匹配的类型签名。
典型适用场景 (When would I use it?)
在以下情况下使用 DisplayList 节点:
- 需要将一个列表中的各个子项分别提取出来,单独输入到下游不同的算子节点中;
- 在工作流画布中可视化展开、监看与检视列表的具体内容明细;
- 处理包含混合数据类型的异构列表,并需要对不同类型的项进行针对性分支处理;
- 将列表集合解包(Unpack)为离散的独立变量;
- 深入调试或探测多步骤复杂列表计算管线的中间状态。
使用指南 (How to use it)
基础配置流程 (Basic Setup)
- 在工作流画布中添加 DisplayList 节点。
- 将待展开的列表连接至该节点的
items输入插槽。 - 节点卡片将根据列表长度,自动动态生成各个子项的独立输出引脚。
- 根据业务需求,从各个单独的项输出引脚引出连线至相应的下游节点。
参数输入插槽 (Parameters)
- items:待展开解析的目标列表(
list类型输入引脚)。 - item_0, item_1, ...:节点基于列表元素动态创建的按序号递增的输出参数引脚。
输出引脚 (Outputs)
- item_0, item_1, ...:对应列表内各个索引位置子项的独立解包输出引脚,其引脚数据类型与元素实际类型完全自动匹配。
典型工作流示例 (Example)
解包并分流处理包含混合类型的列表:
- 在画布中添加 DisplayList 节点。
- 将一个包含
["文本", 42, True]的混合列表连入items输入插槽。 - 节点将即刻自动衍生出 3 个独立的输出端口:
item_0(字符串类型,输出"文本");item_1(整型数值类型,输出42);item_2(布尔类型,输出True)。
- 分别将这 3 个端口连入对应的下游专门算子进行分类处理。
关键技术特性 (Important Notes)
- 自适应类型推断:节点底层自动嗅探并推断列表中各个元素的具体类型;
- 原生支持的主流类型:原生覆盖
string、boolean、integer、float以及ImageArtifact等媒体工件; - 动态引脚拓扑 (Dynamic Ports):输出引脚的数量与结构完全伴随输入列表的长度实时动态收缩或扩展;
- 序号规范化命名:生成的引脚严格按照
item_0、item_1、item_2等 0-based 下标顺序编号。
常见问题与排查 (Common Issues)
- 空列表无引脚生成 (Empty List):如果输入的列表为空列表
[],节点不会生成任何item_n输出引脚。 - 非法输入类型 (Invalid Input):若输入端接入的并非合法的列表对象,节点同样不会衍生出输出引脚。
- 动态连线丢失风险 (Dynamic Updates):当上游列表长度缩短时,超出新长度的多余引脚连线会被自动移除,调试时需留意上游列表长度的动态波动。