# 设计决策目录 (Design Decisions)

本文是 [ADR-0002](../../../docs/adr/0002-design-proposal-and-interaction-modes.md) 落地的决策点清单，供 [`design-flow.md`](./design-flow.md) 的 **S0 设计方案书**阶段在放第一个元件之前，把这些**真实权衡**摊开给用户拍板，而不是 agent 悄悄选一个默认值再往后走。判据只有一条：**用户的回答会不会改变实际做法**——会才进本文，不会（只有唯一正确答案）就是 guardrail，继续以硬门禁形式内置在 `pcb-layout-conventions.md` / `auto-layout-sop.md` / `design-flow.md` 里（save 纪律、mutation 后 `doc reload`、layout-lint/DRC 硬门、PLANE 生成顺序、天线 keepout 必须覆盖全层等），本文**不重复**这些内容。每个决策点固定给出：决策问题、选项对比（优点/坑）、推荐默认、判据（一句话说清何时答案会变）、来源。「来源」只引**随 skill 分发**的 references 文件；个别仅存于项目开发机的实测数据以「实测沉淀」标注——其事实已完整写入表格本身，不依赖任何外部文件。

---

> **决策点导航**:叠层与层数(Stackup)· 接地策略(Ground Strategy)· RF/天线禁布区(guardrail 锚点,非决策)·
> 接口取向(Connector Orientation)· 选型成本档位(Part Cost Tier)· 装配与布局形态(单/双面 + 焊接工艺)。
> S0 方案书逐条摊给用户拍板。

## 叠层与层数(Stackup)

### 2 层 vs 4 层（及以上）层数

**决策问题**：该产品选择 2 层板还是 4 层（及以上）层数？

| 选项 | 优点 | 坑 |
|---|---|---|
| **2 层（单/双面）** | 成本低、打样快；网络简单、电源路径单一的小板够用 | 多个电源/地网络（如 GND + 3V3）挤同一层铺铜会互相"挖岛"——低优先级网被切碎的孤立铜皮判无效并移除，造成 No-Connection。这是**物理层约束**，daemon 侧铺铜策略修不了，实测残留约 7 处 No-Connection 无法消除 |
| **4 层（或以上）** | 每个电源/地网络可各自专属内层；先 via-stitch 打通到该内层、再铺铜，可把 No-Connection 压到 0；可做双 PLANE（GND+VCC）获得最完整参考面，支撑线宽分级/丝印天花板等更成熟设计（官方 N8R8 板路线） | 成本上升；需正确执行 via-stitch + 信号层先铺该网 → `pcb stackup set --plane` 翻内电层 → `pcb pour-rebuild` 的顺序（顺序不能反：先翻类型再在 PLANE 层铺铜会掉到 L1 且 netless），实现复杂度更高 |

**推荐默认**：4 层（`esp32MiniRequire.md` 一类客户需求默认按 4 层落地）。

**判据**：板上存在 ≥2 个需要各自铺铜的电源/地网络，或对 EMI、回流完整性、走线密度有明确要求 → 选 4 层；只有单一电源+GND、网络稀疏、成本/尺寸优先于性能 → 2 层可接受，但需接受 No-Connection 残留及后续人工修补的代价。

**来源**：`pcb-layout-conventions.md` §7.7；2 层同层多网互挖岛/残留 No-Connection 数据为实测沉淀

---

### VCC/电源内层类型：PLANE（内电层） vs SIGNAL 分区铺铜

**决策问题**：4 层板的电源（VCC/3V3 等）内层，做成真·内电层（PLANE，整层归属单一电源网），还是保留 SIGNAL 类型、按网络分区铺铜？

| 选项 | 优点 | 坑 |
|---|---|---|
| **VCC 走 PLANE（内电层）** | 与 GND PLANE 对称，制造规范表示更完整，单一主电源域时最干净（官方 N8R8 板：GND+VCC 双 PLANE）；API 可行——信号层先铺该网 → `pcb stackup set --plane` 翻类型 → `pcb pour-rebuild`，可得 DRC=0 的净网内电层 | 一个 PLANE 层只能归属一个网络：若板上有 2 个互不共享的电源域（如 3V3+5V）都要各自内层化，4 层不够用，会重现"2 层 pour 冲突"（互相把对方 pad 切成孤岛），需 6+ 层才能各给独立内层 |
| **VCC 留 SIGNAL 层 + 网络分区铺铜** | 省一层"类型约束"；电源分布对参考面连续性的要求本身低于 GND；4 层即可同时容纳多个电源域（分区 pour + region 划界表达） | 作为参考面完整性不如真 PLANE |

**推荐默认**：仅有单一主电源域时，VCC 走 PLANE（对标官方 N8R8）；存在多个不共享的电源域且层数锁定在 4 层时，VCC 层保留 SIGNAL 并分区铺铜。

**判据**：电源域数量 = 1 → PLANE；电源域数量 ≥2 且层数被锁定在 4 层 → SIGNAL 分区 pour（若要求每个电源域都各自 PLANE，则层数需求升级到 6+ 层）。

**来源**：`pcb-layout-conventions.md` §7.7/§7.8（含已验证的 PLANE API 配方与顺序禁忌）

---

## 接地策略(Ground Strategy)

### 地域数量：单一 GND PLANE vs 多地域全 SIGNAL 分区铺铜 + 单点桥地

**决策问题**：该产品的"地"（GND）需要几个电气独立的域？是维持单一 GND，还是因为存在音频/RF/功放/精密 ADC 等噪声敏感子系统而拆分成数字地/模拟地/功放地等多个域？这个答案决定内层要做成 PLANE 还是全 SIGNAL 分区铺铜。

| 选项 | 优点 | 坑 |
|---|---|---|
| **单一 GND 域 → 内电层 PLANE（负片）** | 负片 PLANE 是最干净、制造规范化的参考面表示，DRC 最省心，可与 VCC 同做双 PLANE（官方 N8R8：L2=GND PLANE、L3=VCC PLANE，层名直接叫 GND/VCC） | 负片天然只能表达一个网络的完整平面，**无法在同一层内做多个电气独立的地域分割**——一旦真实存在 ≥2 个地域，这条路径物理上走不通 |
| **≥2 个地域 → 4 层全 SIGNAL + 逐层分区 pour + region 划界 + 0402 单点桥地** | 可实现模拟地/数字地/功放地等域间噪声隔离，同时仍能在信号层做网络级铺铜（实战派 S3：GND/AU_GND 双域；实战派 C3：GND/AU_GND/PA_GND 三域，每层三地分区 pour + 6 个 region 划界） | 复杂度显著上升——每层都要精细划 region 防止不同地域铺铜互相侵蚀，需额外桥接元件（0402 电阻/磁珠）单点连接；GND 缝合 via 用量大，占总 via 量 **1/2~2/3**（C3: 292/530，S3: 70+37/228） |

**推荐默认**：单一 GND 域（简单/纯数字产品默认走双 PLANE）；仅当产品明确包含音频/RF/功放/精密模拟等需要噪声隔离的子系统、且需求里显式出现 ≥2 个地网络时才拆分（割地默认不做，见 `pcb-layout-conventions.md` §4）。

**判据**：地域数量 = 1 → GND（及可选 VCC）走内电层 PLANE；地域数量 ≥2（负片无法分域）→ 4 层全 SIGNAL + 逐层分区 pour + region 划界 + 单点桥接元件。

**来源**：`pcb-layout-conventions.md`（§4 割地默认原则、§7.9 三板对标判据表）

---

### 外层（顶/底）铺铜策略：整面单一 GND vs 电源密集区分区 pour

**决策问题**：顶层/底层的铺铜，做成整面单一 GND 铺铜，还是在电源密集区域（如 LDO/USB 供电路径）额外按网络分区铺铜（如 +5V/3V3/GND 三网分区）？

| 选项 | 优点 | 坑 |
|---|---|---|
| **整面单一 GND 铺铜** | 实现简单，单层单一网络降低设计/检查复杂度，适合电源路径轻负载的小板 | 电源就近铜面不足，大电流路径的载流能力与散热余量弱于分区方案 |
| **电源密集区分区 pour（+5V/3V3/GND 三网分区）** | 电源就近大铜，提升大电流路径载流/散热能力，是官方成熟板（N8R8）的实测做法 | 需要更精细的 region 划界与多网络分区铺铜管理，布局/检查工作量更高 |

**推荐默认**：电源密集区域（LDO/USB 供电路径等）局部铺该电源网，其余区域铺 GND（对标官方 N8R8）。

**判据**：若板上存在明显的大电流/高密度电源路径（USB 供电、LDO 输出等）→ 局部按网络分区铺铜；电源路径轻负载、板子简单 → 整面 GND 已足够，无需额外分区复杂度。

**来源**：`pcb-layout-conventions.md` §7.8

---

### 线宽分级：全板统一默认线宽 vs 按网络角色分级

**决策问题**：布线时是否按网络角色（信号/电源支线/主干/连接器进线）分级线宽，还是全板统一使用 DRC 规则给出的默认线宽？这本质是接地/电源策略在铜宽上的延伸（电源网线宽不足是 DRC 违规与载流不足的第一大来源）。

| 选项 | 优点 | 坑 |
|---|---|---|
| **全板统一默认线宽** | 实现简单 | 电源网若沿用信号级细线宽，是 DRC 违规大头（ceshi 实测：删掉 6 条细线径 3V3 走线后，Safe-Spacing 违规从 27 降到 9，占了 18/27） |
| **按网络角色分级**（信号 6mil、电源支线 ~10/9.5mil、主干 15mil、大电流/连接器进线 20mil，或公制 0.25/0.5/0.6mm 圆整） | 兼顾载流能力与走线密度，是官方成熟板（N8R8、实战派 S3/C3）的通用做法 | DRC 规则接口只给一个默认宽度+最小值（不含按网络类别分级）——"电源宽于信号"是**设计惯例，非制造规则**，需 daemon/规则层额外维护 per-net-class 宽度表（`getNetRules`/`netClasses` 目前是待办 P2） |

**推荐默认**：信号走 DRC 规则默认宽度（约 6–10mil）；电源走 fab 推荐宽度（约 20mil / 0.5mm）；主干/大电流路径按官方基准进一步加宽（15–20mil 或 0.5–0.6mm）。

**判据**：网络承载电流越大、越关键（主干、大电流路径）→ 线宽越宽；纯低电流信号网 → 用 DRC 默认最小合规宽度即可，无需额外加宽。

**状态（已落地，daemon 侧）**：per-net-class 宽度阶梯已实现（`pcb_netclass.go`）——`netRole()` 按网名/电压分档（signal / power-branch 3V3·1V8 / power-trunk +5V / high-current VBUS·VIN / gnd），`netClassWidthTable()` 给规范宽（内联 Go 真值，§7.8 阶梯，seed 自 live 规则并 clamp）。`route-short` 查表给宽（不再是 20/10 二分桶），`pcb net-classes` 打印表，`pcb check` **width-under-spec** 校验达标，**power-not-poured** 校验电源已铺铜，2 层电源一键 `pcb power-pour`。**仍待 P2**：把角色写进 EasyEDA **原生 net-class 规则**（`createNetClass`/`overwriteNetRules` @beta）让原生 DRC 也认；块声明的 per-net `track_width_mil` 覆盖启发式（消费待 block-apply）。

**来源**：`pcb-layout-conventions.md` §7.8/§7.9（线宽分级与公制圆整）；ceshi 删细线 Safe-Spacing 27→9 为实测沉淀

---

## RF 与天线禁布区(RF Keepout)——非决策类目，仅 guardrail 锚点

> **本类目不是决策点，S0 不应把它当作"选项+坑+推荐"摊开给用户挑。** `pcb-layout-conventions.md` §6.2/§7.7 给出的唯一具体判据——"RF/天线器件（WROOM/WROVER/ANT\*）需在**每一层**都有无铜禁布区（含内电层 no-inner-electrical），不能只做顶层"——是有唯一正确答案的 guardrail（与本文档开头「判据只有一条」列出的"天线 keepout 必须覆盖全层"是同一条），已由 `pcb check` 的 `antenna-keepout` 规则强制执行（`pcb-layout-conventions.md` §7.7）。研究中也未发现"更大/更小 margin 在射频性能与板面积之间如何取舍"或"哪些走线可贴近天线区域"这类真实可选方案的记录，因此本节没有、也不需要像上面四类那样的选项/坑/推荐表格。保留本标题只是为了让 S0 方案书 spec 的 `rf.keepoutLayers` 字段有稳定锚点可引用（值固定为"覆盖全层"，不由用户挑选）；若未来实战中沉淀出真实的 margin/位置权衡（例如多天线共存、板边距 vs 有效辐射区取舍），再补充到此处并升级为真正的决策点。

**来源**：`pcb-layout-conventions.md` §6.2/§7.7 + `pcb check` 的 antenna-keepout 规则

---

## 接口取向(Connector Orientation)

### USB-C 单取向 vs 双取向 tie（DP/DN 走线方案）

**决策问题**：USB-C 连接器的 D+/D-（DP/DN）信号，是把 A6+B6、A7+B7 两侧引脚都短接到同一根走线上（双取向 tie，支持正反插都能通信），还是只连接其中一侧（如仅 A6/A7）、省略 B6/B7（单取向）？

| 选项 | 优点 | 坑 |
|---|---|---|
| **单取向（省略 B6/B7）** | 在 0.5mm（20mil）间距、16P 连接器上避免 DN,DP,DN,DP 交替排列造成的过孔间距不足（<6mil）/同层交叉问题，用两条不交叉走线（内侧转弯低、外侧转弯高）直接布通 | 破坏 USB-C"正反插都能用"的基本预期——机械上仍能反插，但 D+/D- 数据线反插时不通；来源明确定性为"布线能力不足时的权宜"而非正解 |
| **双取向 tie（A6+B6、A7+B7 都接 USB_D±）** | 真正实现 Type-C 正反插均可通信，与官方立创 ESP32S3R8N8 基准板一致；官方 footprint 上 A/B 同名 pad 相邻，pad 级短接后仍按一路走线，不产生交叉 | 若照搬到没有"A/B 同名 pad 相邻"这种特殊 footprint 布局的设计上，仍要处理 20mil 间距下的过孔/走线交叉问题，对布线工具或人工布线技巧要求更高 |

**推荐默认**：双取向 tie（对齐官方基准，产品级正确做法）；仅当接口不是给终端用户随意插拔使用（内部调试口、固定方向排线），或当前 footprint/布线工具无法复用官方"A/B 相邻 pad"布局导致无法干净走线时，才降级为单取向。

**判据**：终端用户是否会用普通 USB-C 数据线插拔且期望正反插都能通信——是则双取向 tie；否，或当前布线能力/footprint 无法支持双取向干净走线，则可临时用单取向作降级方案。

**来源**：`pcb-layout-conventions.md` §7.8（USB-C 双取向 tie 行，推翻旧「省 B6/B7」结论）；单取向布线细节为实测沉淀

---

### USB 接口架构：单通道串口桥 vs 双通道（USB HUB 原生 USB + 串口共存）

**决策问题**：板上的 USB Type-C 口，是只通过一颗 CH340/CH343 等 USB-转-串口桥芯片提供单一"USB 烧录/串口调试"通道，还是像官方 N8R8 板那样加一颗带独立晶振的 USB HUB（QFN-24），把 USB 同时分给 ESP32-S3 原生 USB（D4±）和另一颗串口桥 CH343（D3±），让原生 USB 与传统串口共存？

| 选项 | 优点 | 坑 |
|---|---|---|
| **单通道（仅 CH340/CH343 串口桥）**——本仓库固定验收用例 `esp32MiniRequire.md` 采用的方案 | 结构最简单、成本最低（不需要 HUB 芯片和它专属的晶振），用户用标准 COM 口驱动即可烧录/调试 | 无法同时暴露 ESP32-S3 原生 USB 能力（CDC/MSC/HID 或另一路独立调试通道）；产品若后续要接入原生 USB 功能需重新设计接口 |
| **双通道（USB HUB 分流：原生 USB + 独立串口桥）**——官方 N8R8 方案 | 原生 USB 与传统串口同时在线，固件工具链兼容性更好（老工具走串口，新工具/OTG 走原生 USB） | 多一颗 USB HUB IC + 专属晶振，BOM 成本、板面积、电路复杂度都上升 |
| **纯原生 USB（无桥芯片）**——M5 StickS3 方案 | S3-PICO 内置 USB-Serial/JTAG，D+/D- 直连 C 口，**整颗省掉 CH340 及其晶振**，BOM/板面积最省；原生 CDC 可软复位进下载模式，**连自动下载晶体管都省**（见下节）；ESP32-S3/C3/S2 等带原生 USB 的芯片专属 | 只有一路 USB（无独立传统串口通道）；固件需 `ARDUINO_USB_CDC_ON_BOOT=1`；某些老烧录治具/驱动依赖真 COM 口时不便；D+/D- 建议加 22R 串阻 + 共模扼流圈抗扰 |

**推荐默认**：成本敏感的入门/教学板（如本仓库固定验收用例只要求 CH340 USB 烧录）用单通道即可，不必引入 HUB；**极密集/成本敏感的 S3 消费成品（如 StickS3）优先纯原生 USB 无桥**——芯片自带原生 USB 时桥芯片是纯冗余；若产品需要原生 USB 外设能力与常规串口终端**同时**在线，参考官方方案加 HUB 做双通道。

**判据**：芯片有无原生 USB + 是否需要传统串口调试同时在线——① 有原生 USB 且不需并存传统串口 → **纯原生 USB 无桥**（最省）；② 需原生 USB 与串口并存 → HUB 双通道；③ 芯片无原生 USB 或极致驱动兼容优先 → 单通道 CH340/CH343。

**来源**：`pcb-layout-conventions.md` §7.8（#43 N8R8 芯片级架构参考）、§7.10（StickS3 纯原生 USB）；`docs/board-absorption-sticks3.md`

---

### 自动下载电路（DTR→GPIO0 / RTS→CHIP_PU）是否在物理 BOOT/RESET 按键之外附加

**决策问题**：除了客户要求的物理 BOOT/RESET 按键，是否额外加装 Q1/Q2（SOT-523）自动下载晶体管电路，让烧录工具通过串口 DTR/RTS 时序信号自动把芯片切入下载模式，免去用户手动按键？

| 选项 | 优点 | 坑 |
|---|---|---|
| **仅物理按键（不加自动下载晶体管）** | 省两颗 SOT-523 晶体管及配套电阻，BOM 和板面积更省 | 每次烧录固件都需用户手动按住 BOOT 再按 RESET，体验较差，不适合非技术用户或量产场景 |
| **加装自动下载电路**（官方 N8R8 方案：Q1/Q2 SOT-523，DTR→GPIO0，RTS→CHIP_PU） | esptool 等烧录工具可自动进入下载模式，免手动按键，是大多数量产 ESP32 板的标准做法 | 增加 2 颗 SOT-523 晶体管及外围电阻，BOM 成本和布线复杂度略增 |
| **走原生 USB，不加自动下载管**——M5 StickS3 方案 | 用 S3 **原生 USB-Serial/JTAG** 时，主机可经 USB 控制直接软复位进下载模式，DTR/RTS 自动下载晶体管**整套省掉**（自动下载是串口桥时代的产物） | 依赖原生 USB 通道（见上节 USB 架构决策）；仍保留物理 BOOT/RESET 键做保底/进 ROM |

**推荐默认**：**走原生 USB 的 S3/C3 板优先靠原生 USB 软复位，不加自动下载管**（StickS3 方案，最省）；仍走 CH340/CH343 串口桥、且面向普通用户要"一键烧录不摸板子"的产品加 DTR/RTS 自动下载电路（官方标准做法）；极致成本敏感的原型/教学板、用户能接受手动按键时可只留物理按键。

**判据**：① 用原生 USB → 靠 USB 软复位，免自动下载管；② 走串口桥且要一键烧录 → 加 DTR/RTS 自动下载；③ 串口桥 + 成本极敏 + 可手动按键 → 只留物理键。

**来源**：`pcb-layout-conventions.md` §7.8（#43 N8R8 芯片级架构参考）、§7.10（StickS3 原生 USB 免自动下载）；`docs/board-absorption-sticks3.md`

---

## 选型成本档位(Part Cost Tier)

### 固定 standard-parts.json vs 每次动态比价（parts-select）

**决策问题**：新设计里的每个器件，是直接从 `standard-parts.json` 取已验证过的 `deviceUuid`/立创 C 号，还是每次都跑 `parts-select.py` 重新对比实时库存/价格选型？

| 选项 | 优点 | 坑 |
|---|---|---|
| **直接用 `standard-parts.json`** | 每个条目都是"在真实板子上放置验证过"的确定性选择（ESP32-S3 系统+USB-C 电源板实测），不会因 JLC 目录变动选到已下架/临时缺货的件 | 数据是某次选型时的快照，市价/库存会随时间漂移，可能已非当前最优 |
| **每次跑 `parts-select.py` 动态比价** | 拿到当前**实时**库存/价格/是否 basic 的数据驱动最优解，而非猜测 | 每次都要额外发起 JLC/LCSC 跨域请求；若选出的料号与标准表不同，打破"复用同一 uuid"带来的可复现性和历史验证 |

**推荐默认**：常见类别（标准无源件、MCU 模块、常见接口 IC 等）优先查 `standard-parts.json`；只有分类未收录，或已知该类目出现异常（缺货/大幅涨价）时才跑 `parts-select` 重新选型并把结果写回标准表。

**判据**：当"可复现/已验证"比"抓当前最低价"更重要（小批量原型、要与历史设计保持一致）时用固定表；当对量产成本足够敏感、愿意承担重新验证工作时才动态比价。

**来源**：`part-selection.md`、`standard-parts.json`

---

### Basic（JLC 基础库）与 Extended（拓展库）器件的取舍

**决策问题**：选型时是否强制只用 JLC "basic" 基础库件（免收单一料号的上料/feeder 附加费），还是允许 "extended" 拓展库件（选择面更广、规格更贴合，但每个唯一料号产生额外费用）？

| 选项 | 优点 | 坑 |
|---|---|---|
| **强制 basic-only** | BOM 里唯一料号越多、批量越小时，省下的 feeder 附加费越显著 | JLC 的 basic 库覆盖面很窄——实测 `standard-parts.json` 46 个器件里只有 4 个（10kΩ/5.1kΩ/330Ω 电阻、100nF 电容）是 `basic:true`，其余（ESP32-S3 模块、CH340C、USB-C 连接器、AMS1117、电感、二极管、BJT、PC817 等功能专用件）全部 `basic:false`，强求 basic 会卡死选型 |
| **允许 extended** | 规格匹配更精准，模块/专用 IC 几乎只能这样选 | 每个唯一 extended 料号产生固定上料附加费，BOM 里 extended 料号越多，小批量单板边际成本越高 |

**推荐默认**：通用无源件（常见阻值/容值）坚持 basic 优先（工具默认排序）；功能专用件（模块/桥接 IC/连接器等 JLC 本无 basic 选项的类别）接受 extended，不必强求。

**判据**：批量越大，单个 extended 料号的 feeder 费被摊薄，可放宽 basic 强制要求；若为凑 basic 牺牲了实际可用规格或库存，应优先保功能而非省这笔一次性费用。

**来源**：`part-selection.md`、`standard-parts.json`（数据观察）

---

### 目标建构批量（build qty）对选型可行性的影响

**决策问题**：设计前是否需要先明确目标批量（原型几片 vs 量产几千片）？不同批量下，"可建造（stockCount ≥ qty）"这道门槛会筛出不同的中选料号。

| 选项 | 优点 | 坑 |
|---|---|---|
| **按小批量原型 qty（如 5–100 片）选型** | 几乎任何有货候选都能通过 buildable 门槛，选型范围最大 | 原型阶段选中的料号放大到量产 qty（如 5000）时库存可能撑不住，届时被迫二次选型换料，BOM 不稳定（"10k basic wins at qty 100, yields at qty 5000 when its stock can't cover it"） |
| **直接按目标量产 qty 选型** | 一次选定的料号放量后依然可建造，BOM 更稳定 | 可选范围变窄，可能被迫选一个比原型阶段更贵/更不理想的候选 |

**推荐默认**：一开始就用产品最终预期批量（哪怕是估算）跑 `parts-select --qty`，而不是拿开发阶段的小 qty 定型整份 BOM。

**判据**：若明确会先小批量试产、后续放量，就该现在用放量后的 qty 阈值选型，避免以后被迫二次选型；若产品用量确定极小（一次性原型、不会重复投产），用原型 qty 即可。

**来源**：`part-selection.md`

---

### JLC SMT 贴片可选件 vs LCSC 目录里的非组装器件

**决策问题**：器件是否只能从 JLC SMT 贴片可选清单里选（可全自动选型+自动上料），还是允许引入 LCSC 目录里的"非组装"部件（需人工焊接或走其他装配路径）？

| 选项 | 优点 | 坑 |
|---|---|---|
| **仅用 JLC SMT 组装可选件** | `parts-select` 端到端自动完成选型+价格/库存比对，无需额外人工装配步骤 | 覆盖范围有限，某些冷门/特殊规格器件不在其中 |
| **允许 LCSC 目录里的非组装件** | 覆盖面更广、规格更精准 | 工具尚未打通这条路径（待补），选中后需人工核实并单独安排装配（手工补料/二次工序），不能端到端自动化 |

**推荐默认**：优先在 JLC SMT 可选范围内选型，把非组装件当作"规格实在找不到替代"时的例外手段。

**判据**：当某功能在 JLC 组装可选范围内确实没有等效件、且产品能接受人工补料工序时，才引入非组装件；否则留在全自动路径内。

**来源**：`part-selection.md`

---

## 装配与布局形态(Assembly & Placement)——2026-07-09 走查#1 用户反馈新增

### 单面布局 vs 双面布局

**决策问题**:器件是否允许放到底面(BOTTOM 层)?

| 选项 | 优点 | 坑 |
|---|---|---|
| **单面(全 TOP)** | 单面贴装便宜、返修直观、插件波峰焊兼容 | 板面积大;高密度板可能塞不下 |
| **双面** | SD 卡槽/去耦帽/矮阻容放底面,板面积可省 20-40% | 双面贴装工序贵;底面件回流二次过炉限重;调试翻板麻烦 |

**推荐默认**:紧凑诉求强(spec `board:"compact"`)且器件密度高时推荐双面(典型底面件:SD 卡槽、去耦电容、上拉电阻阵);否则单面。

**判据**:用户对板面积和装配成本的相对优先级——答案直接改变 P2 摆放的层分配。

**来源**:走查#1 用户反馈(2026-07-09)

### 焊接工艺:产线贴片 vs 手工焊接(封装下限)

**决策问题**:板子由谁焊?决定封装尺寸下限。

| 选项 | 优点 | 坑 |
|---|---|---|
| **产线贴片(JLC SMT)** | 0402/QFN 随便用,板面积最省 | 打样批量费;改版重新上产线 |
| **手工焊接/热风** | 打样即焊即调,迭代快 | 封装下限 0603(阻容)/带引脚 IC(QFN 需热风+经验);0402 手焊噩梦;间距要 `--assembly-gap ≥40` |

**推荐默认**:原型/个人项目按手工焊接选封装(0603 起步);量产按贴片。

**判据**:S0 就要问——答案改变**选型**(standard-parts 里同值不同封装)与**摆放间距**,布完再改等于重做。

**来源**:走查#1 用户反馈(2026-07-09)
