Breadboard Studio 打开编辑器

架构与建模约定

本文档是实现的权威约定;代码与文档不一致时以本文档为准并修正代码。

1. 工作区

pnpm workspace:

目录 内容 依赖限制
packages/schema 设计文件类型、JSON Schema 2020-12、迁移 仅 ajv
packages/catalog 面包板/元件定义(JSON)与目录加载 schema
packages/core 几何、孔阵、放置、导通图、规则、事务 不依赖 DOM/React
packages/render 共享场景(primitive 列表)与 SVG 导出 core
packages/sim 仿真协议、状态机、快照、会话控制器 core;不依赖 DOM/React
packages/cli bb 命令行 core/render
apps/web 浏览器编辑器(React + Vite,SVG 画布) 全部

所有入口(画布动作、属性面板、DSL 面板、CLI apply)都调用 core.applyOps

动作 → applyOps(克隆 → 逐个 op → schema 校验 → 模型/规则)→ 新设计 + 结果

失败时原设计对象不变。编辑器把每次成功事务的前一个版本压入撤销栈。

2. 单位与坐标

3. 面包板孔位命名

4. 元件放置

5. 导线

6. 导通图与网络

7. 规则严重度

severity 含义
error + blocking 结构/物理不可能(坏引用、孔不存在、引脚脱格、同孔两针、板体碰撞、导线端点被占用)。apply 拒绝提交,除非 --force
error 电气问题(电源对地短路、不同电压并联、I²C 地址冲突、推挽输出并联、供电不足)。留在草稿中,显著报告。
warning 需要注意(网络未连通、缺公共地、电平不一致、硬跳线穿越板体、峰值超限)。
needs_review 证据不足(模型未实测、供电能力/峰值未知、地址未知、电平未知、供电范围未知)。没有 error 不等于可以安全上电。
info 说明性信息。

规则不依赖导线颜色;内部电路不做无条件合并(电阻、LED、芯片引脚之间没有隐含导通)。

8. 版本、修订与哈希

9. 目录定义状态

geometry_statuselectrical_status 分别取 verified / approximate / unknownverified 需要该范围的可追溯 evidence[] 与日期、人工复核记录;几何还需 measured 证据。完整规范见 VERIFICATION.md。单个定义和内嵌定义导入都执行门槛校验;记录不等于硬件认证。当前内置定义没有 verified 项。

10. 仿真:设计态与运行态

完整方案见 docs/SIMULATOR_DESIGN.md;以下原则对所有实现阶段有效: