# Version History

## Rules

- 初始版本从 `0.0.1-beta` 开始
- 每次 `bugfix` 递增 `0.0.1`
- 每次 `feature` 递增 `0.1.0`
- `refactor / docs / maintenance` 默认不单独 bump 版本

## Assumptions

- 本文基于 `main` 与 `dev` 的非 merge commit 历史整理
- 对于既包含修复又明显引入新能力的提交，按 `feature` 处理
- `main` 表示已进入主线，`dev` 表示当前仍在开发分支上的增量

## Current Version

- `main` 当前主线历史推导到：`0.16.5`
- `dev` 当前开发分支历史推导到：`0.21.3`

## Timeline

| Version | Type | Branch | Commit | Summary |
| --- | --- | --- | --- | --- |
| `0.0.1-beta` | bootstrap | `main` | `e7033775` | first commit |
| `0.1.0` | feature | `main` | `6cb4398f` | Modularize 3D Earth page with ES Modules |
| `0.2.0` | feature | `main` | `aaae6a53` | Add cable graph service and data collectors |
| `0.2.1` | bugfix | `main` | `ceb1b728` | highlight all cable segments by cable_id |
| `0.3.0` | feature | `main` | `14d11cd9` | add ArcGIS landing points and cable-landing relation collectors |
| `0.4.0` | feature | `main` | `99771a88` | make ArcGIS data source URLs configurable |
| `0.5.0` | feature | `main` | `de325521` | add data sources config system and Earth API integration |
| `0.5.1` | bugfix | `main` | `b06cb460` | remove ignored files from tracking |
| `0.5.2` | bugfix | `main` | `948af2c8` | fix coordinates-display position |
| `0.6.0` | feature | `main` | `4e487b31` | upload new geo json |
| `0.6.1` | bugfix | `main` | `02991730` | add cable_id to API response for cable highlighting |
| `0.6.2` | bugfix | `main` | `c82e1d5a` | 修复 3D 地球坐标映射多个严重 bug |
| `0.7.0` | feature | `main` | `3b0e9dec` | 统一卫星和线缆锁定逻辑，使用 lockedObject 系统 |
| `0.7.1` | bugfix | `main` | `11a9dda9` | 修复 resetView 调用并统一启动脚本到 `planet.sh` |
| `0.7.2` | bugfix | `main` | `e21b783b` | 修复 ArcGIS landing GeoJSON 坐标解析错误 |
| `0.8.0` | feature | `main` | `f5083071` | 自动旋转按钮改为播放/暂停图标状态 |
| `0.8.1` | bugfix | `main` | `777891f8` | 修复 resetView 视角和离开地球隐藏 tooltip |
| `0.9.0` | feature | `main` | `1189fec0` | init view to China coordinates |
| `0.10.0` | feature | `main` | `6fabbcfe` | request geolocation on resetView, fallback to China |
| `0.11.0` | feature | `main` | `0ecc1bc5` | cable state management, hover/lock visual separation |
| `0.12.0` | feature | `main` | `bb6b18fe` | satellite dot rendering with hover/lock rings |
| `0.13.0` | feature | `main` | `3fcbae55` | add cable-landing point relation via `city_id` |
| `0.14.0` | feature | `main` | `96222b9e` | toolbar layout and cable breathing effect improvements |
| `0.15.0` | feature | `main` | `49a9c338` | toolbar and zoom improvements |
| `0.16.0` | feature | `main` | `78bb639a` | toolbar zoom improvements and toggle-cables |
| `0.16.1` | bugfix | `main` | `d9a64f77` | fix iframe scrollbar issue |
| `0.16.2` | bugfix | `main` | `af29e90c` | prevent cable hover/click when cables are hidden |
| `0.16.3` | bugfix | `main` | `eabdbdc8` | clear lock state when hiding satellites or cables |
| `0.16.4` | bugfix | `main` | `0c950262` | fix satellite trail origin line and sync button state |
| `0.16.5` | bugfix | `main` | `9d135bf2` | revert unstable toolbar change |
| `0.16.6` | bugfix | `dev` | `465129ee` | use timestamp-based trail filtering to prevent flash |
| `0.17.0` | feature | `dev` | `1784c057` | add predicted orbit display for locked satellites |
| `0.17.1` | bugfix | `dev` | `543fe35f` | fix ring size attenuation and breathing animation |
| `0.17.2` | bugfix | `dev` | `b9fbacad` | prevent selecting satellites on far side of earth |
| `0.17.3` | bugfix | `dev` | `b57d69c9` | remove debug console.log for ring create/update |
| `0.17.4` | bugfix | `dev` | `81a0ca5e` | fix back-facing detection with proper coordinate transform |
| `0.18.0` | feature | `dev` | `ef0fefdf` | persist system settings and refine admin layouts |
| `0.18.1` | bugfix | `dev` | `cc5f16f8` | fix settings layout and frontend startup checks |
| `0.19.0` | feature | `dev` | `020c1d50` | refine data management and collection workflows |
| `0.20.0` | feature | `dev` | `ce5feba3` | stabilize Earth module and fix satellite TLE handling |
| `0.21.0` | feature | `dev` | `pending` | add Earth inertial drag, sync hover/trail state, and support unlimited satellite loading |
| `0.21.1` | bugfix | `dev` | `pending` | polish Earth toolbar controls, icons, and loading copy |
| `0.21.2` | bugfix | `dev` | `pending` | redesign Earth HUD with liquid-glass controls, dynamic legend switching, and info-card interaction polish |
| `0.21.3` | bugfix | `dev` | `30a29a6e` | harden `planet.sh` startup controls, add selective restart and interactive user creation |

## Maintenance Commits Not Counted as Version Bumps

这些提交被视为维护性工作，因此未单独递增版本号：

- `3145ff08` Add `.gitignore` and clean
- `4ada75ca` new branch
- `c2eba54d` 整理资源文件，添加 legacy 路由
- `82f7aa29` 提取地球坐标常量到 `EARTH_CONFIG`
- `d18e400f` remove dead code
- `869d661a` abstract cable highlight logic
- `4f922f13` extract satellite config to `SATELLITE_CONFIG`
- `3e3090d7` docs: add architecture refactor and webgl instancing plans
