Skip to content

Render computed-but-unrendered insight pillars: rhythm, est-remaining-turns, milestone tips #1

Description

@Gnonymous

在将宣传物料(mockups/codingbar/)与真实 Swift 实现对照时,发现三处数据层已计算、但面板从未渲染的洞察能力。这些此前在 mockup 里被展示,现已删除以与现状一致;本 issue 跟进在 app 端补上渲染(或从模型移除以免误导)。

1. 协作节奏 Rhythm(轮数 / 时长 / 打断率)

  • 已算Behavior.rhythm()Sources/CodingBarCore/Behavior.swift:38-69),随 snap.habits.rhythm 进入快照。
  • 未渲染Sources/CodingBar/Views/ 无任何引用(grep 命中 0)。
  • 建议:在「洞察」tab 加三小卡(轮数 / 平均时长 / 打断率)——数据已就绪。

2. 剩余轮数 estRemainingTurns

  • 已算FuelCalculator.build() 产出 FuelGauge.estRemainingTurnsSources/CodingBarCore/Fuel.swift:85-114)。
  • 未渲染:实时区已改用 liveSessions(多会话清单),FuelGauge 不被任何 view 引用 → 该字段目前是死数据。
  • 建议:要么在会话行补「~N 轮可用」,要么从 Models.swift 移除 FuelGauge 避免误导。

3. 里程碑 Insight(.milestone

  • 定义存在InsightKind.milestoneSources/CodingBarCore/Models.swift:97)。
  • 从不生成Coach.build() 只产 .tipAggregator 追加 .forecast;没有任何 .milestone 生成器。设计稿里有「里程碑」卡(如「缓存累计已省下 $X」)。
  • 建议:在 Coach 增加里程碑生成器(如累计省钱 / 里程 token 数),或从设计中移除该类型。

附带(本轮已直接修复,仅记录):热力图数据窗口实为 30 天却标「7 天」。已把 Behavior.heatmap 窗口改为真正的 7 天(Sources/CodingBarCore/Behavior.swift:71-82),与「活跃热力 · 7 天」标签一致。

来源:mockups 与 Swift 实现的一致性审计(2026-06-18)。

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions