高级功能概述

随着模型规模增大,借助以下功能可以更好地组织项目、验证脚本并提升仿真效率:

Zen模式与视图导航

一键聚焦当前视图或子图,辅助理解复杂层级结构。

分组与模板体系

通过分组和模板快速复用成熟模型结构,保持团队建模一致性。

仿真与脚本诊断

批量测试脚本、串行执行多轮仿真,并利用黑板/消息总线查看器监控运行时数据。

Zen模式

Zen模式可以临时隐藏画布上无关的视图与连线,突出当前正在分析的子模型。

启用方式

  1. 选择目标视图,或在未选择的情况下默认聚焦顶层视图。
  2. 点击工具栏上的 #focus-mode-btn 按钮(图标呈眼状),或者使用快捷入口。
  3. 画布仅保留聚焦视图及其包含的图元,其他元素被临时移出可视区域。

使用提示

  • Zen模式自动隐藏小地图与选择框,便于集中注意力。
  • 在模式开启时新增的图元会自动纳入当前视图,保持画面整洁。
  • 再次点击按钮即可退出;退出后系统会恢复原有元素位置并刷新连线。

分组与视图组织

分组功能由 group_manager 驱动,可将对象或过程打包管理并自动维护边界。

创建与维护

  • 在画布上框选多个对象/过程,右键选择 “创建分组”(action group-selection)。
  • 需要并入既有分组时,选择元素后右键 “加入到已有分组”,系统会弹出分组选择对话框。
  • 若元素放错分组,可使用 “移出分组” 或选中分组外壳执行 “解除分组”

自动调整

  • 分组移动时,groupManager 会实时更新内部元素位置并维持对齐。
  • 新增/删除元素后调用 scheduleAdjust,分组外框自动收缩或扩展。
  • 若分组位于视图内部,系统会同步调整视图画布尺寸保持内容可见。

视图导航树

左侧导航页签内的视图树由 view_hierarchy_manager 构建,提供:

  • 层级展开与快速跳转,支持搜索框模糊过滤。
  • “显示视图内图元”开关,可在树中直接浏览对象/过程节点。
  • 点击任一节点自动高亮画布元素,便于定位深层结构。

模板系统

模板系统用于沉淀成熟建模片段,通过后端 /api/templates 保持团队共享。

保存节点模板

  1. 选择要复用的对象、过程或视图结构。
  2. 右键选择 “加入模板”,弹出模板树选择对话框。
  3. 填写模板名称、选择目标分类后确认保存。
  4. 系统调用 TemplateSelectionDialog 收集元素,并将模板文件与目录节点分别写入服务端。

工程模板

  • 通过工具栏或上下文菜单执行 “工程加入模板”handleAddProjectToTemplate())。
  • 系统使用 ProjectTemplateCollector 打包完整工程,包含元数据统计。
  • 保存成功后触发 templateAdded 事件,模板树会自动刷新。

使用模板

  • 在模板树中选择模板节点,拖拽到画布即可实例化。
  • 系统会保留模板内视图层级、脚本和连线配置。
  • 如果模板依赖外部资源(如 API 绑定),请在插入后根据项目环境调整参数。

脚本批量测试与诊断

testAllScripts() 为脚本调试提供集中入口,可自动完成参数校验与仿真端测试。

执行步骤

  1. 保证 WebSocket 仿真连接已建立(工具栏状态为“已连接”)。
  2. 在画布空白处右键,选择 “测试全部脚本”
  3. 工具会先尝试从 CONSIM API 拉取最新 Schema,随后遍历所有绑定脚本。
  4. 测试进度与结果输出到“仿真控制台”,失败项会附带堆栈与日志。

调试建议

  • JavaScript 脚本会执行参数预校验;C++ 原生脚本暂不支持本地校验但仍会进行仿真级测试。
  • 若脚本依赖 API 绑定,请先在 API 配置页确认连接可用,以免测试失败。
  • 完成后可在控制台导出测试汇总,用于代码审查或回归记录。

多轮仿真编排

多轮仿真对话框由 multi-run-orchestrator 管理,可批量运行仿真、统计稳定性。

使用流程

  1. 点击工具栏 #multi-run-btn 按钮,打开“多轮仿真(串行)”对话框。
  2. 配置轮数、单轮超时、轮间延时和出错策略(继续/中止)。
  3. 点击“开始”,系统会依次触发仿真执行并在面板底部展示进度。
  4. 遇到错误时按照策略处理,同时在控制台记录详细日志。

常见用途

  • 进行蒙特卡洛式多轮仿真,观察随机因素对结果的影响。
  • 在脚本重构后快速跑回归,确认各轮结果一致。
  • 配合黑板导出或 API 回调生成多轮汇总报表。

视图展开与还原

需要查看跨视图的整体流程时,可使用“展开大图”将嵌套结构拍平。

操作步骤

  • 在工具栏或右键菜单选择 “展开大图”(调用 flattenCurrentProjectAndDisplay())。
  • 系统会复制当前工程、合并跨视图关系并生成新的平面视图。
  • 若需恢复原图,执行 “还原展开预览” 即可。
展平操作在内存中完成,不会修改原始项目文件;若需长期保存结果,请使用导出功能。

观测与调试面板

黑板与消息总线查看器有助于实时洞察仿真过程中的数据流。

黑板查看器

  • 快捷键 Ctrl + B(macOS 使用 + B)快速开关。
  • 显示脚本和 API 在运行中写入的黑板键值对,可导出用于排查问题。

消息总线查看器

  • 快捷键 Ctrl + Shift + M 打开,用于追踪仿真事件流。
  • 支持筛选事件类型(如 API 回调、脚本日志),并与控制台日志联动。

数据导出与备份

当前版本支持导入/导出 JSON 项目文件,方便备份与版本管理。

导出

  1. 点击工具栏“导出”按钮或调用 window.exportDiagram()
  2. 系统会生成包含元素、连线、脚本、API 绑定等信息的 JSON 文件。
  3. 文件名自动附带时间戳,建议纳入团队的 Git 仓库进行版本管理。

导入

  • 从“导入”按钮选择 JSON 文件,系统会验证结构后加载到画布。
  • 导入成功会刷新视图导航树,并将状态写入撤销栈以便回滚。
  • 若项目已接入后端工程管理,请先通过工程列表打开目标工程后再导入。

下一步

掌握上述高级功能后,推荐继续:

  • 仿真运行 中验证多轮执行与脚本测试结果。
  • 利用模板在新项目中快速搭建标准化子系统。
  • 将当前工程导出存档,配合 Git 管理版本历史。