HAGIMIMONITOR / POWER TOPOLOGY / ICON FAN

图标进入流图,名称留给悬浮。

六个图标直接成为系统节点的分支终点。去掉常驻名称列,恢复经典双节点横管,电池条仍然全宽。

面板宽度
电源外接电源
概览拓扑电池
功率流向应用能耗
进程为实测 · 未含系统进程
悬停图标查看名称与占比

将鼠标移到任一图标,或用 Tab 聚焦。默认应用数据取自题给样例;硬件字段与边界状态为设计夹具。

一版完整方案 · 经典主干 + 下展图标扇面

让应用成为节点,而不是列表。

适配器和系统保持同排。系统下缘扇出六条曲线,接到横排图标;独立电池竖管沿右侧落到底部,不穿过图标区。

166 pt
20 pt
32 pt
默认只显示图标。悬浮或聚焦后显示完整名称、能耗和占比,并强调对应分支;弹出提示不参与面板尺寸测量。

占比可选常驻,开关不改变图标位置、连线或总高度。两档宽度均无名称截断问题。

代价是陌生图标需要悬浮才能识别;首次发现由图下提示引导。缺少图标时使用通用应用图标,完整名称依然可访问。

几何与交互

[ 适配器 ] ─────────→ [ 系统 ]
                         ╱╱│ │
             ╭──────────╯╱ │ │
          ╭──┼──────────╯  │ │
          ↓  ↓  ↓  ↓  ↓  ↓   │
          ◉  ◉  ◉  ◉  ◉  ···  │
                             ● junction
[ ═══════════ 电池条 ════════╧ ]

六条分支的共同起点在系统节点下缘,电池管使用另一端口。“其他”是第六个省略号图标。图为结构示意,精确位置以右侧常量为准。

宽度与高度预算

340 − 2×8 − 2×12 = 300pt 内容 → 减右侧 16pt 电池通道 → 六槽各 47⅓pt。
300 − 2×8 − 2×12 = 260pt 内容 → 减右侧 16pt → 六槽各 40⅔pt。
两档均容纳 32pt 命中区,最窄档相邻命中区仍留 8⅔pt。无名称列,完整名称在浮层换行,不截断。

46 节点 + 26 扇面间隙 + 32 命中区 + 4 + 12 占比预留 + 8 + 38 电池 = 166pt。来源说明再加 36pt;本页含行头、页签与内衬的卡片共 304pt。净高较当前约 179pt 少 13pt。

contentWidth = panelWidth - 40
nodeWidth = 90; nodeHeight = 46
adapterOrigin = (0, 0)
systemOrigin = (contentWidth - 90, 0)
batteryLane = 16
slotCount = 6
slotPitch = (contentWidth - 16) / 6
slotCenterX(i) = (i + 0.5) × slotPitch
hitSize = 32; hitTop = 72
iconSize = 20; iconInset = 6
iconTop = 78; endpointY = 74
shareTop = 108; shareHeight = 12
barTop = 128; barHeight = 38
nodeRadius = 9; barRadius = 10
cardRadius = 14
fanOrigin = (contentWidth - 45, 46)
fanControl1 = (fanOrigin.x, 62)
fanControl2(i) = (slotCenterX(i), 62)
fanEnd(i) = (slotCenterX(i), 74)
batterySpineX = contentWidth - 8
junctionY = 124
adapterToSystem: M90,23 H(C-90)
systemToJunction: M(C-8),46 V124
junctionToBattery: M(C-8),124 V128

悬浮、聚焦与更新

图标有完整可访问名称;鼠标悬浮、键盘聚焦或点击可查看提示,Esc 收起。悬浮只强调对应分支,不改线宽、不位移、不放大图标。提示是独立浮层,HTML 用静态定位模拟,原生可用 NSView 工具提示或独立轻量浮层;不加入展开区高度测量。

六槽固定,展开时捕获前五名并按宿主 App 身份固定位置;本次展开内样本只更新数据和线宽。“其他”始终是全部可读集合减去这五槽,维持 100% 口径;下次展开才更新排名。常驻占比预留空间一直存在,开关也不会产生布局跳动。

支线粗细严格为 16 × share,样例为 9.92 / 5.44 / 0.16 / 0.16 / 0.16 / 0.16pt;小份额线本来就细,图标负责定位。悬浮不把细线伪装成较高份额。主干保留三路径与流光截帧,原生复用 CAShapeLayer.lineDashPhase;不新增逐帧驱动。

边界状态

数据状态图标与连线悬浮内容
为空五个中性占位图标 + 其他,均不画数据支线;系统、电池主干独立保留。等待有效采样 / —,不伪造 0。
不足五个夹具三个实测应用 70 / 25 / 5%,两个占位,其他已知为零;只画三条分支。真实应用名或空槽说明;其他零值仅适用于已知集合为空或合计为零。
只有一个首槽 100%,四个占位,其他已知为零;保留六槽,不将首槽居中。完整名称 / 100%;空位为 —。
100% 集中五个图标仍在,首槽 100%,其余实测零值;只画首槽分支。显示真实 0%,与缺失状态区分。
数据、图标和材质说明

默认百分比按题给 62 / 34 / 1 / 1 / 1 / 1 展示;W 按题给 1.30 / 0.72 / 0.03 / 0.03 / 0.03 / 0.03 展示。两组不是精确归一化关系,生产需统一使用未舍入、同窗口的能耗份额。系统节点瓦数不作为进程份额分母,无法读取的系统进程也不计入“其他”。

Qoder CN、HapiGo、Microsoft Edge、微信图标来自本机应用并已内嵌 PNG;WindowManager 没有可读取的独立应用图标,使用内联通用窗口图标。识别图标保留自身品牌颜色,连线仍只使用给定 moduleTint,“其他”用 textCaption。硬件字段为夹具而非本机读数。

保留 trackFill、rowSeparator、三档文字与语义色;无新玻璃、模糊、阴影或动态材质。提示用中性静态画布模拟系统工具提示底色,不作为新的面板材质。