mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-27 12:53:35 +00:00
### 为什么会出现「一片绿」 上一提交修好了「分类配色从未生效」那个 bug(服务端发 "Concept"、JS 键是 "concept" ⇒ 永不匹配 ⇒ 1150 个节点全回退兜底灰 0xcccccc)。修好之后 颜色值**一个字没改**(concept 键仍是 0x44ff88),于是 1148 个 Concept 节点第一次真的拿到了那个亮青绿 —— 1149 个节点里 1148 个是 Concept, 所以整张图变成绿的。 ⇒ 结论:绿色不是渲染 bug,是「配色终于生效」后暴露出的真实数据形状。 之前的灰色恰好是「全都没匹配上」的症状。 ### 换中性色(用户裁定) 默认色改为 SM_COLOR_DIM = 0x7d8a9e(中性灰蓝)。亮青绿配 1149 个 自发光球确实扎眼。 ### 顺带把「图例说谎」也修了 原图例写死「人物/概念/对象/地点/来源」五项,而实测图谱里只有 Concept(1148)与 Source(1)—— 列出四个永不出现的类型,等于告诉 用户存在实际不存在的分类。 现在: - 图例按**实际出现**的类型动态生成,标注占比 - 占比 <1% 的不单列(实测 1/1149 = 0.087%,单列会显示成「来源 0%」, 既难看又误导读者以为图里没有来源节点),归入「其他 N 个」 - 只有**一种有存在感**的类型时,附一句实话说明「节点同色不是分类图」 ### 颜色规则也跟图例对齐 smColorFor:只有存在 >=1% 的第二类型时才按类型上色,否则全图中性色。 理由:99.9% 概念 + 0.1% 其他时按类型上色,得到的仍是一整片同色, 而那一两个异色点在视觉上就是噪点(实测 colors 只剩 ["7d8a9e"])。 不动服务端类型识别(用户裁定):nlp/extractor.go 至今不判类型、 graph.go:451 写死 Concept,根治要改记忆链路,本轮不碰。 ### 途中修掉一个自己引入的 bug 图例空。首屏星图在**总览页**初始化,那时 #sm-legend 还不存在 (骨架由 renderStarmapTab 建),smLegend 内部 getElementById 返回 null 直接返回;而 renderStarmapTab 建完骨架后只调了 smUpdateStat()。 ⇒ 浏览器实测图例 html 长度 0。在 renderStarmapTab 里补一次 smLegend()。 ### 验证(真实 1149 节点数据集 + WebGL) - 颜色:["7d8a9e"](单一中性色)—— 改前 ["44ff88"] 一片绿 - 图例文本:「概念 100% 其他 1 个(图谱实体几乎都是同一类型,节点同色; 出现新类型后会自动分类)」 - 统计:1149 节点 / 865 关系;控制台零异常 - go vet 干净;全量测试通过 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>