|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to this project will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +--- |
| 9 | + |
| 10 | +## [Unreleased] |
| 11 | + |
| 12 | +### Planned |
| 13 | +- Component Updater 自動更新功能 |
| 14 | +- 批次更新多個 .gh 文件 |
| 15 | +- 從 GitHub 自動下載最新組件 |
| 16 | +- GitHub Actions 自動構建流程 |
| 17 | + |
| 18 | +--- |
| 19 | + |
| 20 | +## [0.1.0] - 2025-12-30 |
| 21 | + |
| 22 | +### 🎉 Initial Enhanced Fork Release |
| 23 | + |
| 24 | +這是基於 compas-dev/compas-actions.ghpython_components 的增強版本,添加了完整的團隊協作和版本管理功能。 |
| 25 | + |
| 26 | +### ✨ Added - 新增功能 |
| 27 | + |
| 28 | +#### 新組件 |
| 29 | + |
| 30 | +1. **Component Updater** (v0.1.0) |
| 31 | + - 版本檢查工具(靈感來自 Ladybug Tools) |
| 32 | + - 掃描畫布上的組件並比對版本 |
| 33 | + - 偵測 input/output 參數變化 |
| 34 | + - 生成詳細的版本報告 |
| 35 | + - 支援 manifest.json 版本管理 |
| 36 | + - 分類: Utilities > Version |
| 37 | + - 檔案: `dist/Component_Updater.ghuser` (7.1 KB) |
| 38 | + |
| 39 | +2. **Swarm Dynamics** (v0.1.0) |
| 40 | + - 粒子群體動力學模擬系統 |
| 41 | + - 粒子-彈簧物理模擬 |
| 42 | + - K-近鄰自動連接演算法 |
| 43 | + - 全域旋轉與呼吸效果 |
| 44 | + - 主動彈簧(動態長度變化) |
| 45 | + - Euler 積分法更新 |
| 46 | + - 分類: Physics > Simulation |
| 47 | + - 檔案: `dist/Swarm_Dynamics.ghuser` (9.8 KB) |
| 48 | + |
| 49 | +3. **YOLO UDP Receiver** (v0.1.0) |
| 50 | + - YOLOv8 姿態偵測 UDP 數據接收器 |
| 51 | + - 支援 17 個人體關鍵點(COCO 格式) |
| 52 | + - 輸出 Point3d 座標 |
| 53 | + - 無阻塞 Socket 通訊 |
| 54 | + - 簡單 JSON 解析(無外部依賴) |
| 55 | + - 分類: YOLO > Network |
| 56 | + - 檔案: `dist/YOLO_UDP_Receiver.ghuser` (4.3 KB) |
| 57 | + |
| 58 | +#### 版本管理系統 |
| 59 | + |
| 60 | +1. **manifest.json** |
| 61 | + - 集中管理所有組件版本資訊 |
| 62 | + - 記錄 GUID、版本號、參數定義 |
| 63 | + - 支援自動版本檢查 |
| 64 | + |
| 65 | +2. **Semantic Versioning 支援** |
| 66 | + - 版本號格式: MAJOR.MINOR.PATCH |
| 67 | + - 自動版本號替換(`{{version}}`) |
| 68 | + - 版本比對演算法 |
| 69 | + |
| 70 | +#### 文檔系統 |
| 71 | + |
| 72 | +1. **DEVELOPMENT_GUIDE.md** |
| 73 | + - 完整的組件開發教學 |
| 74 | + - YOLO UDP Receiver 實戰範例 |
| 75 | + - 組件結構詳解 |
| 76 | + - 常見問題解答 |
| 77 | + - 進階開發技巧 |
| 78 | + |
| 79 | +2. **TEAM_COLLABORATION.md** |
| 80 | + - 團隊協作最佳實踐 |
| 81 | + - Git 工作流程 |
| 82 | + - 為什麼適合小團隊開發 |
| 83 | + - pip 套件管理優勢 |
| 84 | + - 多人協作範例 |
| 85 | + |
| 86 | +3. **VERSION_MANAGEMENT.md** |
| 87 | + - 完整的版本管理系統設計 |
| 88 | + - Ladybug Tools 研究成果 |
| 89 | + - 技術實作細節 |
| 90 | + - Phase 1/2/3 發展路線圖 |
| 91 | + - MVP 與未來功能規劃 |
| 92 | + |
| 93 | +4. **COMPONENT_CATALOG.md** |
| 94 | + - 所有組件的詳細目錄 |
| 95 | + - 參數說明與使用範例 |
| 96 | + - 技術特色與應用場景 |
| 97 | + - 安裝與使用指南 |
| 98 | + |
| 99 | +5. **CHANGELOG.md** (本文件) |
| 100 | + - 詳細的變更記錄 |
| 101 | + - 版本歷史追蹤 |
| 102 | + |
| 103 | +6. **組件專屬 README** |
| 104 | + - `components/Swarm_Dynamics/README.md` |
| 105 | + - `components/Component_Updater/README.md` |
| 106 | + |
| 107 | +#### 原始代碼參考 |
| 108 | + |
| 109 | +在 `originalcode/` 資料夾新增: |
| 110 | +- `opencv2gh_yolov8.py` - YOLOv8 姿態偵測發送端 |
| 111 | +- `gh_udp_receiver_final.py` - UDP 接收器範例 |
| 112 | +- `gh_trajectory_robust.py` - 軌跡處理範例 |
| 113 | + |
| 114 | +### 🔧 Changed - 變更 |
| 115 | + |
| 116 | +#### README.md |
| 117 | +- 新增 Enhanced Fork Features 區塊 |
| 118 | +- 新增組件總覽表格 |
| 119 | +- 新增 Quick Start 指南 |
| 120 | +- 新增文檔連結 |
| 121 | +- 新增 macOS ARM64 支援說明 |
| 122 | + |
| 123 | +#### SETUP_FIXES.md |
| 124 | +- 新增詳細的故障排除步驟 |
| 125 | +- 新增 `ModuleNotFoundError: pythonnet` 解決方案 |
| 126 | +- 新增 conda 自動初始化說明 |
| 127 | +- 新增便捷 Alias 設定 |
| 128 | +- 更完整的分步驟指引 |
| 129 | + |
| 130 | +#### QUICKSTART.md |
| 131 | +- 更新為當前專案路徑 |
| 132 | +- 新增 gh_comp alias 說明 |
| 133 | +- 更新 conda 環境設置步驟 |
| 134 | + |
| 135 | +### 🐛 Fixed - 修復 |
| 136 | + |
| 137 | +#### macOS ARM64 相容性 |
| 138 | +- 修復 pythonnet 3.x 與 Rhino 8 .NET 8.0 的相容性問題 |
| 139 | +- 新增 `python.runtimeconfig.json` 配置 |
| 140 | +- 更新 `componentize_cpy.py` 的 runtime 初始化邏輯 |
| 141 | +- 解決 conda activate 無效問題 |
| 142 | + |
| 143 | +#### 環境設置 |
| 144 | +- 修復 `env_path.txt` 路徑問題 |
| 145 | +- 新增 conda 自動初始化配置 |
| 146 | +- 更新 `.zshrc` 設置 |
| 147 | + |
| 148 | +### 🔒 Security - 安全性 |
| 149 | + |
| 150 | +- `.gitignore` 新增 `.claude/` 排除項目 |
| 151 | +- `env_path.txt` 保持在 `.gitignore` 中(本地配置) |
| 152 | + |
| 153 | +### 📝 Documentation - 文檔改進 |
| 154 | + |
| 155 | +#### 新增文檔(7個) |
| 156 | +1. DEVELOPMENT_GUIDE.md (54 KB) |
| 157 | +2. TEAM_COLLABORATION.md (20 KB) |
| 158 | +3. VERSION_MANAGEMENT.md (25 KB) |
| 159 | +4. COMPONENT_CATALOG.md (18 KB) |
| 160 | +5. CHANGELOG.md (本文件) |
| 161 | +6. components/Swarm_Dynamics/README.md (9 KB) |
| 162 | +7. components/Component_Updater/README.md (10 KB) |
| 163 | + |
| 164 | +#### 更新文檔(3個) |
| 165 | +1. README.md - 新增 Enhanced Fork Features |
| 166 | +2. SETUP_FIXES.md - 新增故障排除 |
| 167 | +3. QUICKSTART.md - 更新快速開始指南 |
| 168 | + |
| 169 | +### 🛠️ Technical - 技術細節 |
| 170 | + |
| 171 | +#### 組件架構 |
| 172 | +- 使用 `executingcomponent` 基類(CPython) |
| 173 | +- 類變數狀態管理 |
| 174 | +- 模板變數支援(`{{version}}`) |
| 175 | +- metadata.json 配置驅動 |
| 176 | + |
| 177 | +#### 物理模擬(Swarm Dynamics) |
| 178 | +- Euler 積分法 |
| 179 | +- 彈簧力計算: F = k * (L - L0) |
| 180 | +- 動態自然長度 |
| 181 | +- K-近鄰演算法 |
| 182 | + |
| 183 | +#### 網路通訊(YOLO UDP Receiver) |
| 184 | +- 無阻塞 Socket |
| 185 | +- 批次讀取(50 次循環) |
| 186 | +- 簡單 JSON 解析器 |
| 187 | +- 座標縮放轉換 |
| 188 | + |
| 189 | +#### 版本管理(Component Updater) |
| 190 | +- 版本號解析演算法 |
| 191 | +- 參數相容性檢測 |
| 192 | +- manifest.json 自動搜尋 |
| 193 | +- 詳細報告生成 |
| 194 | + |
| 195 | +### 📦 Build System - 構建系統 |
| 196 | + |
| 197 | +#### 新增功能 |
| 198 | +- `manifest.json` 支援 |
| 199 | +- gh_comp alias(一鍵構建) |
| 200 | +- 版本號自動替換 |
| 201 | +- 組件 GUID 管理 |
| 202 | + |
| 203 | +#### 環境配置 |
| 204 | +- `environment.yml` - Conda 環境定義 |
| 205 | +- `python.runtimeconfig.json` - .NET 8.0 配置 |
| 206 | +- `.gitignore` 更新 |
| 207 | + |
| 208 | +### 🎯 Project Goals - 專案目標 |
| 209 | + |
| 210 | +這個版本實現了以下目標: |
| 211 | + |
| 212 | +1. ✅ **版本控制友善** |
| 213 | + - 所有代碼都是文本文件 |
| 214 | + - Git 可以追蹤每一次變更 |
| 215 | + - 支援 Pull Request 代碼審查 |
| 216 | + |
| 217 | +2. ✅ **團隊協作支援** |
| 218 | + - 統一的 conda 環境管理 |
| 219 | + - manifest.json 版本追蹤 |
| 220 | + - 詳細的協作文檔 |
| 221 | + |
| 222 | +3. ✅ **版本管理系統** |
| 223 | + - Component Updater 工具 |
| 224 | + - Semantic Versioning |
| 225 | + - 版本檢查與報告 |
| 226 | + |
| 227 | +4. ✅ **完整文檔** |
| 228 | + - 開發指南 |
| 229 | + - 團隊協作最佳實踐 |
| 230 | + - 組件目錄 |
| 231 | + - 變更日誌 |
| 232 | + |
| 233 | +5. ✅ **macOS ARM64 支援** |
| 234 | + - Apple Silicon 完整支援 |
| 235 | + - pythonnet 3.x 配置 |
| 236 | + - 詳細故障排除 |
| 237 | + |
| 238 | +--- |
| 239 | + |
| 240 | +## [0.0.0] - Before Fork |
| 241 | + |
| 242 | +### Original compas-dev/compas-actions.ghpython_components |
| 243 | + |
| 244 | +- 基本的組件化工具 |
| 245 | +- GitHub Actions 支援 |
| 246 | +- IronPython 和 CPython 支援 |
| 247 | +- 基本的 metadata.json 配置 |
| 248 | + |
| 249 | +--- |
| 250 | + |
| 251 | +## 版本號說明 |
| 252 | + |
| 253 | +使用 [Semantic Versioning](https://semver.org/): |
| 254 | + |
| 255 | +``` |
| 256 | +MAJOR.MINOR.PATCH |
| 257 | +
|
| 258 | +MAJOR: 重大更新,不向下相容(如 input/output 變化) |
| 259 | +MINOR: 新增功能,向下相容 |
| 260 | +PATCH: Bug 修復,向下相容 |
| 261 | +``` |
| 262 | + |
| 263 | +**範例**: |
| 264 | +- `0.1.0 → 0.2.0`: 新增功能(相容) |
| 265 | +- `0.2.0 → 0.2.1`: Bug 修復(相容) |
| 266 | +- `0.2.1 → 1.0.0`: 重大更新(不相容) |
| 267 | + |
| 268 | +--- |
| 269 | + |
| 270 | +## 貢獻指南 |
| 271 | + |
| 272 | +### 如何新增變更記錄 |
| 273 | + |
| 274 | +1. 在 `[Unreleased]` 區塊下新增變更 |
| 275 | +2. 使用正確的分類: |
| 276 | + - `Added` - 新功能 |
| 277 | + - `Changed` - 既有功能的變更 |
| 278 | + - `Deprecated` - 即將移除的功能 |
| 279 | + - `Removed` - 已移除的功能 |
| 280 | + - `Fixed` - Bug 修復 |
| 281 | + - `Security` - 安全性修復 |
| 282 | + |
| 283 | +3. 發布新版本時: |
| 284 | + - 將 `[Unreleased]` 內容移到新版本區塊 |
| 285 | + - 更新日期 |
| 286 | + - 更新 manifest.json 版本號 |
| 287 | + |
| 288 | +### Git Commit 格式 |
| 289 | + |
| 290 | +``` |
| 291 | +類型:簡短描述 |
| 292 | +
|
| 293 | +詳細說明... |
| 294 | +
|
| 295 | +Generated with Claude Code |
| 296 | +Co-Authored-By: Claude <noreply@anthropic.com> |
| 297 | +``` |
| 298 | + |
| 299 | +**類型**: |
| 300 | +- `新增` - 新功能 |
| 301 | +- `修復` - Bug 修復 |
| 302 | +- `更新` - 既有功能變更 |
| 303 | +- `文檔` - 文檔更新 |
| 304 | +- `優化` - 性能優化 |
| 305 | +- `重構` - 代碼重構 |
| 306 | + |
| 307 | +--- |
| 308 | + |
| 309 | +## 連結 |
| 310 | + |
| 311 | +- **專案**: https://github.com/fred1357944/compas-actions.ghpython_components |
| 312 | +- **上游**: https://github.com/compas-dev/compas-actions.ghpython_components |
| 313 | +- **問題回報**: https://github.com/fred1357944/compas-actions.ghpython_components/issues |
| 314 | + |
| 315 | +--- |
| 316 | + |
| 317 | +**維護者**: Claude Code |
| 318 | +**最後更新**: 2025-12-30 |
0 commit comments