Files
pinmap-to-pinlist/Releases/v1.5.4/CHANGELOG.md
Agent d635ddbebe 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 集成测试全部通过
2026-06-09 08:27:11 +08:00

61 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 状态为已修复