Skip to content

feat(pcb): 2D/3D 渲染模式切换 pcb view-mode —— snapshot 前无法确定性选 2D 布局或 3D 视图(#40 只做了图层/side) #169

Description

@zhoushoujianwork

Problem

pcb snapshot 截的是「画布当前显示成什么」。EasyEDA Pro 的 PCB 编辑器有 2D 布局视图 和 3D 渲染 两种模式(工具栏 2D / 3D 按钮),但 CLI 没有任何命令能切换 2D↔3D 渲染模式,也读不回当前处于哪种模式。

结果:agent 截 PCB 图是「碰运气」——用户停在 3D,pcb snapshot 就得到 3D 渲染图;停在 2D 才得到 2D 布局图。做布局 QA(看焊盘/间距/丝印/走线)需要确定性的 2D;看装配观感才要 3D。现在 agent 无法自己选。

实测证据

  • 评审一块 4 层车载盒子布局(166 器件),画布当时停在 3D 模式。
  • agent 跑 easyeda pcb snapshot --window <id> → 返回 PNG artifact → 读出来是一张 3D 渲染图(不是 2D 布局)。截图动作是 agent 做的,但「出来是 3D」完全由用户的画布状态决定,agent 无从控制。
  • 查遍 CLI:pcb snapshot(截图)、pcb view-side top|bottom(正反面,feat(pcb): add typed layer/view switching and current PCB layer readback #40)、view fit/region/zoom(缩放)都有,唯独没有 2D/3D 模式切换。

与现有能力的边界(都不是本 issue)

能力 命令 状态
截 PCB 图 pcb snapshot ✅ 有
切正/反面(2D 内的层/side) pcb view-side ✅ #40 已实现
缩放/对焦 view fit/region/zoom ✅ 有
区域/选区导出 — 🔶 #166 跟进
切 2D 布局 ↔ 3D 渲染 ❌ 本 issue

#40 做的是「显示哪个图层/哪一面」,全在 2D 画布内;本 issue 是渲染模式(2D 平面 vs 3D 立体),两者正交。

Desired behavior

  • pcb view-mode --mode 2d|3d(或等价 typed action)切换 PCB 渲染模式,供 snapshot / 人工 QA 前确定性设定。
  • 读回当前模式(扩 board-info 或 pcb view-mode(无参)返回 currentMode)。
  • 与 pcb view-side 组合使用(如 2D + bottom 截底层布局图;3D 截整体观感)。
  • typed action,非 raw debug;支持 --project 路由、survive windowId churn。

Acceptance criteria

  1. agent 能在不点 UI 的情况下把画布切到 2D(或 3D)。
  2. 随后的 pcb snapshot 反映所请求的模式。
  3. 能读回当前是 2D 还是 3D。
  4. 与 view-side 组合可预期(2D+top / 2D+bottom / 3D)。

Notes

对 agent 做布局评审很关键:布局/DFM 判读要 2D(焊盘、间距、丝印、走线一目了然),3D 只适合看装配/连接器观感。没有这条,agent 的 PCB 截图对「看什么」是不可控的。

出处:easyeda-agent 使用者对一块 4 层车载盒子布局的评审会话(Claude 参与分析并实测 snapshot 行为)。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions