1
00:00:00,000 --> 00:00:14,667
这一节演示模块化重构：可视化子图。现在画布完全为空，没有节点，也没有连线。我们从节点库开始，一步一步搭建，最后运行验证。

2
00:00:14,667 --> 00:00:28,033
添加 Constant 节点。在右侧填入本例的数据。常量可以是数字、字符串、列表或字典，使用合法的 JSON 格式。

3
00:00:28,033 --> 00:00:38,833
添加 Map 节点。这个节点逐项处理列表。具体逻辑可以来自函数回调，也可以放在内部子图。

4
00:00:38,833 --> 00:00:47,133
进入可视化子图。子画布同样从空白开始，逐个建立单项处理流程。

5
00:00:47,133 --> 00:00:58,233
添加 Item 节点。设置单独测试子图时使用的数据。正式循环时，这里会接收到列表当前项。

6
00:00:58,233 --> 00:01:10,567
添加 Python 节点。把处理逻辑写在这个节点里，输入由连线传入，结果写入 result。这样主画布保持简洁。

7
00:01:10,567 --> 00:01:21,533
点击 Item 的 value 输出，再点击 Python 的 value 输入，建立这条数据连线。下游现在直接使用上游结果。

8
00:01:21,533 --> 00:01:29,900
添加 Output 节点。这个节点收集最终结果，运行后可以在底部查看。

9
00:01:29,900 --> 00:01:41,067
点击 Python 的 value 输出，再点击 Output 的 value 输入，建立这条数据连线。下游现在直接使用上游结果。

10
00:01:41,067 --> 00:01:50,267
子图已经连接完成。返回主画布，Map 会对列表中的每条记录执行这个子流程。

11
00:01:50,267 --> 00:02:01,433
点击 Constant 的 value 输出，再点击 Map 的 items 输入，建立这条数据连线。下游现在直接使用上游结果。

12
00:02:01,433 --> 00:02:09,800
添加 Output 节点。这个节点收集最终结果，运行后可以在底部查看。

13
00:02:09,800 --> 00:02:20,900
点击 Map 的 items 输出，再点击 Output 的 value 输入，建立这条数据连线。下游现在直接使用上游结果。

14
00:02:20,900 --> 00:02:30,800
节点和连线已经搭建完成。现在点击运行工作流，由真实的 Python 执行所有激活节点。

15
00:02:30,800 --> 00:02:43,533
运行成功。底部显示每个节点的实际输出，结果已与本例预期值核对。这个例子从空白画布开始，现已完整跑通。
