PC 真机功能验证
2026-10-14 品牌更新:应用定名"芯谱",图标改为原创设计(详见 PC 工作台适配 的品牌章节)。应用 ID
com.von.ngspice保持不变,下文历史验证记录中的"ngspice"均指本应用或内核。
当前状态(2026-10-09)
已识别连接的 HUAWEI MateBook Pro 真机,设备类型 2in1,系统 6.1.0.135(SP9C00E100R13P3),API 24。使用 devecocli signature generate --product default 生成了绑定 com.von.ngspice 的调试签名,签名 HAP 安装成功并启动。
真机安装前曾用 unsigned HAP 验证到 9568320: no signature file;完成开发者登录和专用签名后已恢复。构建日志见 artifacts/validation/build-device-hap.log,安装日志见 artifacts/validation/device-install.log。
签名完成后的验证范围
| 功能 | 检查 | 本轮状态 |
|---|---|---|
| 安装与 Native 加载 | 签名 HAP 安装、启动、共享库加载、日志 | 通过 |
| OP / TRAN / AC / DC | 四个内置例子的数值结果与波形 | 通过 |
| 错误与运行控制 | 非法网表、并发拒绝、停止、超时、重跑及连续运行 | 通过 |
| 文件与模型 | 独立测试文件保存、重新打开、.include / .lib、缺失及循环依赖 |
通过(自动回归) |
| 信号与导出 | 切换电压/电流信号及单位,系统选择器导出 CSV | 通过(自动回归) |
| PC 操作 | 最大化、双列、窄窗口标签布局、快捷键、未保存保护 | 已核对布局、F5/Esc;文件选择器和未保存保护沿用模拟器回归 |
真机结果
目标设备序列号为 3QC0124C20001941。启动 autoTest 后,真机日志 artifacts/validation/device-suite.log 中以下断言全部为 passed=true:
NGSPICE_SUITE:4 个数值用例、连续运行 20 次、非法参数和并发保护;NGSPICE_EDITOR:编辑网表、错误拒绝、错误后恢复;NGSPICE_FILES:文件往返、.include/.lib、缺失和循环依赖;NGSPICE_CONTROL:停止、超时、重跑和重复停止保护;NGSPICE_RESULTS:DC 扫描、信号切换及 DC/AC CSV 数据。NGSPICE_DRAFT:未保存草稿写入、读取和清除往返。
真机界面截图为 artifacts/validation/device-suite.png,窗口布局快照为 artifacts/validation/device-layout-initial.json;最大化后快照为 artifacts/validation/device-layout-wide.json。真机观察到 验证通过、DC 末点 5.00000 V,切换 RC 示例后分析类型显示 TRAN,F5 启动后回到“仿真完成”。打开按钮能拉起系统文件选择器,使用 Esc 取消后仍回到“仿真完成”;截图和布局分别为 artifacts/validation/device-open-picker.png 与 artifacts/validation/device-open-picker-layout.json,没有选取或覆盖用户文件。
构建阶段仍有 CircuitFiles.ets 的 ArkTS “Function may throw exceptions” 警告,不影响本次构建、签名、安装和回归结果,后续可按 API 规范补充异常处理。
波形分析功能
在同一真机上验证了波形放大、重置、拖动平移和双游标测量。详细范围和测量结果见 docs/pc-workbench.md,截图为 artifacts/validation/device-waveform-measurement.png;功能构建及回归日志分别为 artifacts/validation/build-waveform.log 和 artifacts/validation/device-waveform-suite.log。
未保存恢复功能已加入应用私有 Preferences,并通过 NGSPICE_DRAFT passed=true 真机自动回归;构建日志为 artifacts/validation/build-draft.log,回归日志为 artifacts/validation/device-draft-suite.log。
多文档标签验证(2026-10-09)
多文档标签实现已完成:打开不同网表新增标签,切换标签保留各自编辑内容,未保存标签显示 *,关闭未保存标签进入保存/放弃/取消对话框,关闭当前标签后切换到相邻标签。构建日志为 artifacts/validation/build-documents.log,安装日志为 artifacts/validation/device-install-documents.log;安装后真机自动回归日志为 artifacts/validation/device-documents-suite.log,其中 NGSPICE_SUITE、NGSPICE_EDITOR、NGSPICE_FILES、NGSPICE_CONTROL、NGSPICE_RESULTS、NGSPICE_DRAFT 均为 passed=true。
真机启动后标签条布局快照为 artifacts/validation/device-documents-layout.json,截图为 artifacts/validation/device-documents-tabs.png。
工程管理验证(2026-10-09)
工程选择器、新建工程入口已在真机窗口渲染,截图为 artifacts/validation/device-projects.png,布局快照为 artifacts/validation/device-project-layout.json。HAP 构建日志为 artifacts/validation/build-projects.log,安装日志为 artifacts/validation/device-install-projects.log;安装后既有自动回归保持全部 passed=true,日志为 artifacts/validation/device-projects-suite.log。
工程目录存储实现验证(2026-10-10)
工程存储已从单条 Preferences JSON 扩展为应用私有目录:网表、保存快照和模型内容分文件保存,索引保存为 workspace.json;旧 Preferences 数据会在首次读取时迁移。构建验证日志为 artifacts/validation/build-project-directory.log。按用户安排,真机目录读写回归留到今晚执行。
编辑效率实现(2026-10-10)
网表编辑器已加入查找、替换全部、撤销和重做;本轮仅完成构建验证,真机交互回归安排在今晚工程目录测试时一并执行。构建日志为 artifacts/validation/build-editor-tools.log。
强制停止并重新启动后仍能恢复工程选择器状态,重启布局快照为 artifacts/validation/device-project-layout-reopen.json。
工程操作入口(重命名、导入、导出、删除)已在真机布局中出现,截图为 artifacts/validation/device-project-actions.png,快照为 artifacts/validation/device-project-actions-layout-final.json;重命名输入态快照为 artifacts/validation/device-project-rename-layout.json,取消后恢复正常工程栏。真机已完成一次工程导出和重新导入,状态快照为 artifacts/validation/device-project-after-export-layout.json、artifacts/validation/device-project-after-import-layout.json。
测试只操作 ngspice 和单独命名的测试文件,不覆盖已有用户文档。最低版本现调整为 6.0.0(20),真机系统 API 24 属于兼容范围内。
波形图片导出实现(2026-10-10)
结果面板加入“导出波形图片”按钮:Canvas 画布通过 toDataURL('image/png') 生成 PNG,使用 util.Base64Helper 解码并通过系统保存选择器写入用户指定文件。HAP 构建已通过,日志为 artifacts/validation/build-waveform-export.log;真机文件选择器和写入回归按计划留到晚上集中执行。
新功能真机回归(2026-10-10)
在 3QC0124C20001941 真机上完成最新签名 HAP 回归:
- 波形 PNG 导出:系统保存选择器显示
PNG 图片,保存后状态为“波形图片已导出”。布局记录为artifacts/validation/device-final-png-picker-all.json、device-final-png-after.json。 - 查找、替换全部、撤销、重做:替换后的撤销/重做按钮状态可用,点击撤销恢复原文,再点击重做恢复修改;工具栏四个操作均完整显示。布局记录为
artifacts/validation/device-toolbar-fixed-20261010.json、device-toolbar-edit2-20261010.json、device-toolbar-undo4-20261010.json、device-toolbar-redo5-20261010.json。 - 工程目录存储:新建
工程 3后强制重启,工程选择器恢复为工程 3,main.cir同步恢复。日志中NGSPICE_PROJECT_STORAGE loaded=true active=project-3 projects=3,布局记录为artifacts/validation/device-project-final-layout-20261010.json。 - 全量自动回归:
NGSPICE_FILES、NGSPICE_CONTROL、NGSPICE_RESULTS、NGSPICE_DRAFT、NGSPICE_SUITE、NGSPICE_EDITOR均为passed=true,日志为artifacts/validation/device-regression-suite-20261010.log;最终构建日志为artifacts/validation/build-device-regression-20261010.log。
回归中修复了两个问题:编辑历史数组变更后按钮状态未刷新,以及编辑工具栏在 PC 窗口中被结果面板遮挡;同时将当前工程 ID 改为响应式状态,保证重启后工程选择器刷新到已恢复工程。
API 20 与结果 JSON(2026-10-10)
最低兼容版本从 5.0.0(12) 调整为 HarmonyOS 6.0.0(20),Native 构建目标同步改为 aarch64-linux-ohos20.0.0。新增结果 JSON 导出/导入、最近 5 次结果历史、历史曲线叠加、参数扫描和数据表入口,HAP 构建日志为 artifacts/validation/build-data-table.log;按用户安排,包含这些功能的真机回归留到功能阶段完成后统一执行。
Native 大数据读取上限已与 UI 和文档统一到 1,000,000 个采样点;构建日志为 artifacts/validation/build-large-results.log。
参数扫描支持常用 SPICE 数值后缀;HAP 构建日志为 artifacts/validation/build-spice-sweep-values.log。
结果历史增加 2,000,000 点总预算,HAP 构建日志为 artifacts/validation/build-history-budget.log。
关闭保护与大数据波形(2026-10-10)
主窗口使用 windowWillClose:仿真运行中阻止关闭,存在未保存网表时提供继续退出/取消选择;草稿恢复作为第二层兜底。波形绘制改为可见区最小/最大值分桶,构建验证已通过,设备交互回归待下一轮集中执行。
系统文件关联已加入 viewData 入口和 Want URI 转发,HAP 构建验证通过;从文件管理器直接打开网表的设备回归待下一轮执行。
结果快照文件关联已加入 application/x-ngspice-result 和 JSON 类型,系统打开时进入结果恢复流程;构建日志为 artifacts/validation/build-result-file-association.log,设备回归按计划留到功能阶段结束后统一执行。
结果关联同时支持 content:// URI + application/x-ngspice-result MIME 类型;构建日志为 artifacts/validation/build-result-mime-association.log。
新增仿真日志 .log 导出入口,快捷键为 Ctrl+Shift+L;构建日志为 artifacts/validation/build-log-export.log,设备回归按计划留到功能阶段结束后统一执行。
结果快照导入读取上限已与 32 MiB 导出上限统一,普通网表读取上限仍为 1 MiB;构建日志为 artifacts/validation/build-result-import-large.log。
波形画布已接入 API 20 的 onAxisEvent,PC 鼠标滚轮可缩放波形;构建日志为 artifacts/validation/build-mouse-wheel.log。
波形画布已加入 API 20 右键上下文菜单,提供视图重置、游标清除和 PNG 导出;构建日志为 artifacts/validation/build-context-menu.log。
波形画布支持键盘方向键平移、Home/End 跳转;构建日志为 artifacts/validation/build-waveform-keyboard.log。
结果工具栏新增剪贴板摘要复制,快捷键为 Ctrl+Shift+C;构建日志为 artifacts/validation/build-result-copy.log。
结果区支持最多 12 个信号同时叠加绘制,构建日志为 artifacts/validation/build-multi-signal-overlay.log。
仿真超时选择已加入应用私有设置持久化,构建日志为 artifacts/validation/build-settings-persistence.log。
最近一次用户结果已加入应用私有快照,启动时自动恢复;构建日志为 artifacts/validation/build-last-result.log。
新增网表标签入口,快捷键为 Ctrl+N,新网表接入工程、草稿和保存流程;构建日志为 artifacts/validation/build-new-circuit.log。
删除工程时会递归清理工程目录中的网表和模型文件;构建日志为 artifacts/validation/build-project-cleanup.log。
编辑器新增 Ctrl+F、Ctrl+H、Ctrl+Z、Ctrl+Y 快捷键;构建日志为 artifacts/validation/build-editor-shortcuts.log。
保存工作区时会清理索引外的孤儿工程目录;构建日志为 artifacts/validation/build-project-orphan-cleanup.log。
保存工程时会清理项目内部已删除文档和模型的旧文件;构建日志为 artifacts/validation/build-project-file-prune.log。
工程导入/导出增加格式版本和字段校验,同时兼容旧版无版本工程;构建日志为 artifacts/validation/build-project-schema.log。
工程重命名增加大小写不敏感的重名校验;构建日志为 artifacts/validation/build-project-name-normalization.log。
当前功能集合最终 HAP 构建成功,最低 API 元数据为 60000020;最终构建日志为 artifacts/validation/build-final-feature-set.log。按用户安排,设备回归仍统一放在功能阶段结束后执行。
最新功能真机回归(2026-10-11)
最新 API 20 HAP 已安装到 3QC0124C20001941 真机。自动回归全部通过:NGSPICE_FILES、NGSPICE_CONTROL、NGSPICE_RESULTS(含 JSON 往返)、NGSPICE_DRAFT、NGSPICE_SUITE、NGSPICE_EDITOR。
手工验证参数扫描:R1=500..2000、步长 500,状态显示“参数扫描完成(4 点)”,历史选择器出现每个扫描点,历史对比选择器可用。数据表切换后显示 # / time / out 和采样行。记录分别为 artifacts/validation/device-sweep-after-20261011.json、device-data-table3-20261011.json。
清空结果历史会同步清理持久化快照;构建日志为 artifacts/validation/build-clear-result-history.log。
历史对比曲线已纳入 Y 轴范围计算,构建日志为 artifacts/validation/build-comparison-range.log。
功能阶段结束后的全量真机回归(2026-10-11)
芯笺 Markdown 的“规划 1.3.5 版本”对话结束后,已重新构建并安装最新签名 HAP 到 3QC0124C20001941(HUAWEI MateBook Pro,API 24)。构建通过;NGSPICE_FILES、NGSPICE_CONTROL、NGSPICE_RESULTS、NGSPICE_DRAFT、NGSPICE_SUITE、NGSPICE_EDITOR 六组自动回归全部 passed=true。完整日志见 artifacts/validation/device-latest-regression-suite-20261011.log,构建日志见 artifacts/validation/build-latest-device-regression-20261011.log。
最新手工回归已通过新建网表、JSON 导出/导入、仿真日志导出、上次结果恢复、清空历史后重启不恢复、多信号叠加和数据表。证据与状态汇总见 artifacts/validation/device-latest-regression-summary-20261011.json。
仍需人工补测两项:从系统文件管理器直接点开 .ngresult.json 验证 MIME 授权链路,以及使用物理鼠标右键验证画布和标签菜单。通过 aa 直接传入文件 URI 的 MIME 路由已触发应用,但因缺少系统授予的 URI 权限显示“打开结果失败”;hdc 自动化也无法产生真实右键事件。触摸拖动和方向键已注入,但当前 11 点波形不足以观察范围变化,需用高采样 RC 波形补测滚轮和键盘平移。