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

3. 里程碑 Insight(.milestone)

  • 定义存在:InsightKind.milestone(Sources/CodingBarCore/Models.swift:97)。
  • 从不生成:Coach.build() 只产 .tip,Aggregator 追加 .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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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