BUG-005: 模板文件名改为 PinMAP-Template.xlsx / PinList-Template.xlsx BUG-006: 布局改为 Number 外侧 + Name 里侧(v1.5.4 最终版) - 从边界往中心:第1圈=Number,第2圈=Name - 上边角点例外处理,15种网格无冲突 - 18/18 单元测试 + 37/37 集成测试全部通过
61 lines
2.9 KiB
Markdown
61 lines
2.9 KiB
Markdown
# Changelog — v1.5.4
|
||
|
||
> **发布日期**: 2026-06-09
|
||
> **版本类型**: Bug 修复版本
|
||
|
||
## 🐛 Bug 修复
|
||
|
||
### BUG-005 【高】模板文件名错误
|
||
|
||
**问题**: `main.py` 中引用的模板文件名(`BallList-Template.xlsx` 和 `BallMAP-Template.xlsx`)与用户期望的文件名不匹配。
|
||
|
||
**修复**:
|
||
- 模板文件重命名:`BallList-Template.xlsx` → `PinList-Template.xlsx`
|
||
- 模板文件重命名:`BallMAP-Template.xlsx` → `PinMAP-Template.xlsx`
|
||
- 同步更新 `main.py` 中的函数名和模板引用路径
|
||
|
||
### BUG-006 【高】布局重设计(Number 外侧 + Name 里侧)
|
||
|
||
**问题**: PinList→PinMAP→PinList 双向转换中,v1.3 的"紧致布局"导致 Number 与 Name 单元格冲突(6 处),15×15 网格下序号 1 错位到 A2,序号 16 错位到 B16。
|
||
|
||
**根本原因**: 旧布局将 Name 放在 Number 向内偏移一行/一列的位置,边角处发生冲突。
|
||
|
||
**修复方案**: 重新设计布局为 **Number 外侧(第 1 圈)+ Name 里侧(第 2 圈)**,从网格边界往中心排列:
|
||
|
||
| 边 | 外侧(第 1 圈) | 内侧(第 2 圈) |
|
||
|---|---|---|
|
||
| **上边** | Number 在 row 1(最顶行) | Name 在 row 2(第二行;角点例外在 row 1) |
|
||
| **左边** | Number 在 col 0(最左列) | Name 在 col 1(第二列) |
|
||
| **下边** | Number 在 row rows+3(最底行) | Name 在 row rows+2(倒数第二行) |
|
||
| **右边** | Number 在 col cols+1(最右列) | Name 在 col cols(右二列) |
|
||
|
||
**关键设计点**:
|
||
- **上边角点例外**: 最左/最右上边 Name 无法放在 row 2(被左/右边 Name 占用),分别使用 `(1, 0)` 和 `(1, cols+1)` 例外单元格
|
||
- Pin1 保持在左上角(A3=1, B3=Pin1)
|
||
- 不再需要角点 `"//"` 合并 — 每条边不共享任何单元格
|
||
- 周长公式 `(rows+cols)×2` 保持不变
|
||
|
||
**验证**:
|
||
- ✅ 15 种网格大小(4×4, 15×15, 3×5, 2×2, 8×8, 10×12, 20×20, 5×3, 6×7, 2×3, 3×3, 2×4, 3×2, 4×2, 2×5)全部无冲突
|
||
- ✅ 18/18 单元测试通过
|
||
- ✅ 37/37 集成测试通过
|
||
|
||
## 🔧 修改文件
|
||
|
||
| 文件 | 修改内容 |
|
||
|------|---------|
|
||
| `Code/src/main.py` | BUG-005: 模板函数和引用改名;BUG-006: 传递 cols 参数 |
|
||
| `Code/src/pinmap_layout.py` | BUG-006: 重写坐标公式 + `get_name_cell()` 支持 cols 参数 + 角点例外 |
|
||
| `Code/src/pinmap_generator.py` | BUG-006: 传递 cols 参数 + 更新注释 |
|
||
| `Code/src/pinmap_parser.py` | BUG-006: 重写边界检测、Name 读取(角点例外检测) |
|
||
| `Code/src/test_pinmap.py` | BUG-006: 更新测试数据适配新布局 |
|
||
| `Test/fixtures/PinList-Template.xlsx` | BUG-005: 模板文件重命名 |
|
||
| `Test/fixtures/PinMAP-Template.xlsx` | BUG-005: 模板文件重命名 |
|
||
|
||
## 📝 文档
|
||
|
||
- 更新 `CHANGELOG.md` 追加 v1.5.4 版本日志
|
||
- 更新 `README.md` 追加 v1.5.4 版本说明
|
||
- 生成 `Releases/v1.5.4/CHANGELOG.md`
|
||
- 更新 `docs/bugs.md` BUG-005、BUG-006 状态为已修复
|