熊窝 v0.29.0:任务看板 - 分阶段甘特条与本地无刷新编辑
熊窝甘特条支持阶段划分,任务状态真源迁入仓库实现本地编辑全设备同步,修复分割缝拖拽错位,本地编辑不再整页刷新丢视图。
2026-09-01
熊窝任务看板在 v0.28.0 甘特图的基础上,把长任务的甘特条升级为可命名的连续阶段轨道,同时把任务状态真源从浏览器 localStorage 迁入仓库,本地编辑不再丢视图,线上只读随发布构建同步。
分阶段甘特条
- 任务补丁新增
phases[](id / title / start / end / status),阶段连续无缝铺满计划区间,首阶段对齐 plannedStart、末阶段收在 plannedEnd。 - 甘特条从实体色块改为阶段轨道容器,每段独立着色:未开始灰、进行中橙、完成绿;≥3 天的阶段显示名称,更短的只留颜色与悬浮提示。
- 甘特行新增「分阶段 / 阶段 N」入口,弹窗按「切割点」编辑(每行只填结束日期,下一段自动从次日开始),支持添加、删除、平均分配、清除。
- 拖拽整条时阶段整体平移;拖拽两端时只动首/末阶段边界;移出甘特图时清除阶段。看板卡片同步新增阶段缩略条,按天数比例着色并显示当前阶段名。
状态真源入仓与本地无刷新编辑
- 新增
src/data/todo-state.json作为任务状态唯一真源(status / plannedStart / plannedEnd / completedAt 字段级补丁),构建时注入页面内联进静态产物,线上零额外请求。 astro.config.mjs新增todoSyncPlugin,本地 dev 下看板与甘特图操作通过POST /__todo_sync合并写回仓库状态文件,写盘成功才算修改成功;pre-push hook 与 GitHub Actions 均加入状态校验。- 线上看板转为只读:不渲染编辑按钮、禁用甘特条拖拽,header 显示「🔒 线上只读」徽标;本地 dev 全功能可编辑。
- 借鉴常识笔记 / 开发笔记本地 CMS 的做法,自写盘后 2.5s 内吞掉 dev server 的
full-reload/update广播——本地编辑甘特图不再整页刷新,视图不再被重置回看板。
交互修复与工具栏精简
- fix: 拖拽阶段分割缝时右阶段预览错位重叠——列号原来相对左阶段起点计算,只有第一道缝碰巧正确;改为统一以任务条起点为参照(
leftStartColumn),并为阶段格子加grid-row: 1兜底防折行。 - 移除甘特图「划分阶段」按钮的阶段列表悬浮窗与「定位今天」按钮;工具栏改为副标题左对齐、「显示已完成」与计划区间在右侧对齐成一列。
- 旧 localStorage 补丁首次打开看板时自动迁移进仓库状态文件并清除,归档任务不再可能被本地残留补丁污染。
数据与实现
- 阶段数据落盘前经归一化(排序、消除空档、末阶段闭合、天数不足时截断),
todo:validate增加阶段校验。 - 发布提交:
b4e19f9 feat(v0.29.0): 甘特图分阶段与本地无刷新编辑,共 10 个文件、+1746 / -81 行。
UI 设计图留档
本次保留任务看板 v3 两张 UI 快照:看板视图展示卡片上的阶段缩略条与当前阶段名,甘特图展示三阶段甘特条与精简后的工具栏布局。

