Skip to content

easyeda-agent v0.25.0

Choose a tag to compare

@zhoushoujianwork zhoushoujianwork released this 12 Aug 13:35
· 214 commits to main since this release

[0.25.0] - 2026-08-12

原理图布局体系定版:placement-first 区级重排(sch zone relayout)+ 串联链
共线串接 + 全员竖放平行对齐 + 顺方向 netport + 竖直旗真值表修正 + 三个新判据
(reversed-net-flag / marker-overlap 文字带 / redundant-net-marker)。
连接器含 0.24.1–0.24.5 全部修复(合并线段对解析三处统一/orphan-stub 直连豁免)。

Added(CLI 侧,串联链 chain——用户拍板「一串完成不折弯」)

  • relayout 识别 pin-to-pin 直连链(如 GND—LED—R—netport):全链共线横放
    串接,相邻 pin 短直线、零折弯;地端在左(旗竖直向下)、netport 端在右
    (水平顺链向);极性件(LED)rot 按「链左 pin 实测在左」消解。链宽超区带
    报错提示手动分段(断点两侧同名 netport 对、2+2 分行)——能一串就一串,
    不主动加标签。
  • band 生长障碍钳制修复:旧判据只认「完全在外侧」的障碍,初始 inflate
    相交的邻区被忽略 → 生长穿透邻区腹地(实测 LED band 穿进 MCU 区,链件摆进
    别人家)。凡与 band 正交区间相交且伸过边缘的障碍一律钳制,已相交钳在原地。

Changed(CLI 侧,netport 顺方向摆布——用户拍板,取代「永不竖放」铁则)

  • netport 顺导线方向摆布:竖放件的 netport 顺竖直引出(rotation 走
    orientation port 真值表 up=90/down=270),不再强制水平——水平引出的 L 形
    正是件间距不等的根源;现在全员回归 60 等距完全平行。旧铁则「netport 永不
    竖放」的真实痛点是密集 pin 列上侧向标签互相堆叠——那是拥挤,由
    marker-overlap(netport 平台 bbox 天然含文字)管;folded-net-label 判据
    恒零(函数与 summary 字段保留,报表兼容),layout-score folded 维恒满分。
  • 相关测试翻转为语义变更回归钉(竖放必须不再报);宿主解析测试改为直测
    hostByNearestPin/hostByWireTrace 纯函数(原借 folded 归因当载体)。

Changed(CLI 侧,relayout 全员平行布局——用户拍板)

  • 外围电容电阻全员竖放、同一行、平行对齐:此前去耦竖放/信号链横放两种姿势
    (同是电容 C4 竖 C5 横,不工整)。现在 signal 件也转竖放——电源旗端朝上/地旗
    端朝下(与双旗件同轴),netport 从另一端水平朝左引出(netport 永不竖放
    不变);全员器件锚 y 相同 = 本体/顶旗/底旗三条线全对齐。间距:纯双旗件 60,
    带 netport 件 110(容水平文字)。双 netport 件(无电源轴)保留横放 fallback。

Added(CLI 侧,锚 IC 电源旗也守「电上地下」)

  • relayout 收尾把锚 IC 的横躺电源/地旗竖直化(用户点名:外围都守约定,中心
    器件不能例外)。安全判:竖直桩不穿本件相邻 pin(列顶电源脚/列底地脚才安全),
    不安全的保持横躺并报告。横躺判据用旗自身 rot(0/180=竖直)而非 pin→锚
    方向——L 形合流树(pin 横引再竖下挂旗)的竖直旗按方向近似会被误判横躺、
    重连拆散合流(实测 U2 双 GND 合流被误报)。

Added(CLI 侧,sch zone relayout —— placement-first 区级重排,用户点名的正确顺序)

  • 新命令 sch zone relayout --zone X [--apply]:与 zone tidy(挪带线的组)
    的根本差别是顺序——①锚 IC 定位定向(V1 不动)→ ②外围器件按角色纯计算
    终局(去耦竖放锚右同顶等距 60、信号链横放其下同行基线共线、链宽按 pin 实测
    +网名估)→ ③deep sweep 删净旧桩旗 → 逐件落位 → 一遍性重连(真值表)。
    全程不搬带线的图元,组刚移的 merge 撕裂整类问题不存在。ceshi MCU 区实测:
    任意乱局一条命令到终局,自检绿,gate PASS。
  • buildTidyPlan 加 forceAll(全员出计划,幂等 no-op 不短路);tidySignalPlan
    加 HasPose(signal 件执行时先落位再重连)。
  • zoneTidyGrowBand 双序生长:生长顺序决定 L 形空间里矩形的形状(先纵后横
    把下方长满、右缘被低处图签卡死只剩 404 宽;先横后纵长到 806)。两种顺序都
    算取面积大者;relayout 的 band 无条件生长(分区 rect 是「当前内容」的函数,
    不生长就是鸡生蛋——上轮排成一列,band 缩窄,这轮还是一列)。

Added(CLI 侧,signal-row 链端电源旗竖直化)

  • group tidy signal-row 升级:链末端横躺的 power/gnd netflag(left/right)
    一律重连竖直(power 上/gnd 下)——横躺旗的文字竖排侧向渲染(平台特性),
    用户点名三处「文字竖着难看」;竖直化后与去耦列同款风格。已竖直 = no-op。
  • 修 signal-row 重建覆盖缺口:deep sweep 删的是全件的树(两端),但重建
    计划只含被修 pin——netport 端删了没重建 → 悬空(实测 C5/R1/R2 三件同炸)。
    现在有任何修复目标时全部 netport pin 都进重建计划(已水平的按原语义重建)。
  • staging park 位从带右外 +200 改 +500(出纸):+200 曾把组 park 进右邻
    功能区腹地(band 右外 ≠ 空地),park 桩与邻区线共点 merge 出跨区短路且回滚
    撕裂扩散到邻区(实测两次,第二次伤到 POWER 的 C3)。纸外无内容可 merge。

Added(CLI 侧,zone tidy 行内电气基线对齐)

  • 横放信号链行内基线共线:行内对齐从「组 bbox 顶」改为「电气基线」(器件
    锚 y = 桩线 y;行首组定行基线,后续组共线)。bbox 顶对齐时两组上伸量不同
    (GND 旗符号 vs 3V3 旗文字)会让同行两条链的走线错开 5-10 单位(用户点名
    「横竖不齐」第三轮)。竖放组不变(总高已统一,顶齐即底齐);sheet 层无基线,
    行为不变。

One-line install/update:

curl -fsSL https://raw.githubusercontent.com/zhoushoujianwork/easyeda-agent/main/install.sh | sh

Installs/updates:

  • easyeda CLI/daemon
  • easyeda-agent skill for Codex (/.codex/skills) and/or Claude Code (/.claude/skills) when detected
  • prints EasyEDA connector .eext import URL

Skill targets: set EASYEDA_INSTALL_SKILLS=codex,claude to force targets, none to skip, or EASYEDA_SKILL_PRESERVE=1 to keep local edits.