v1.5.4 Bug 修复:模板文件名修正 + 布局重设计

BUG-005: 模板文件名改为 PinMAP-Template.xlsx / PinList-Template.xlsx
BUG-006: 布局改为 Number 外侧 + Name 里侧(v1.5.4 最终版)
- 从边界往中心:第1圈=Number,第2圈=Name
- 上边角点例外处理,15种网格无冲突
- 18/18 单元测试 + 37/37 集成测试全部通过
This commit is contained in:
2026-06-09 08:27:11 +08:00
parent 91e1d93e18
commit d635ddbebe
19 changed files with 647 additions and 237 deletions

View File

@@ -0,0 +1,60 @@
# 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 状态为已修复