release(ios): 0.2.2 移除分组改用标签归类并完成石墨配色重构

- 删除分组实体:分组视图/编辑器/仓储与 groupId 全部移除,升级首启清理
  instance-groups.json 与 fleet.groupMode
- 新增批量标签表:三态覆盖度(未贴 / N/M / 全部),整批加减与新建标签
- 配色重构,全应用零蓝色:石墨墨色承担主操作与选中态,颜色只留给状态语义;
  浅色改中性冷灰,深色改低明度石墨三层
- 选中态改实心主色 + onPrimary,替换不可读的低透明度色雾(主题块、图例胶囊)
- 应用图标重做为扁平石墨底 + 黄铜 SIM 面板,参数化光栅化脚本与参考稿
- 运行概览:检测进度并入副标题,读数栅格固定八格两行并保留不可用占位
- 实例详情:仪表改两列发丝线栅格,缺数据留轨道,修掉头部高度回弹;
  补齐设备名称/存储总量/可用存储/使用率四个字段名
- 版本号显示去掉括号,设置页只显示 0.2.2
- 文档:新增 docs/ios-native-0.2.2.md,同步 ios-native.md 与两处 README
This commit is contained in:
chick
2026-09-15 02:23:24 +08:00
parent ec3ffb9db3
commit eb880e0d14
28 changed files with 757 additions and 1524 deletions
@@ -28,50 +28,50 @@ private enum AIPalette {
dynamicColor(light: light, dark: dark)
}
// 浅色:中性冷灰底 + 纯白卡 + 极浅内嵌面,避免"灰蓝蒙层"把层级糊成一团。
static let canvas = color(light: rgba(242, 244, 248, 1), dark: rgba(7, 10, 16, 1))
static let surface = color(light: rgba(255, 255, 255, 1), dark: rgba(20, 26, 36, 1))
static let surfaceRaised = color(light: rgba(255, 255, 255, 1), dark: rgba(26, 35, 49, 1))
static let control = color(light: rgba(237, 241, 247, 1), dark: rgba(34, 44, 60, 1))
static let tile = color(light: rgba(247, 249, 252, 1), dark: rgba(255, 255, 255, 0.05))
static let tileLine = color(light: rgba(233, 239, 247, 1), dark: rgba(255, 255, 255, 0.08))
static let chrome = color(light: rgba(255, 255, 255, 0.90), dark: rgba(12, 17, 25, 0.86))
static let ink = color(light: rgba(15, 23, 41, 1), dark: rgba(241, 245, 249, 1))
static let muted = color(light: rgba(92, 106, 128, 1), dark: rgba(154, 167, 184, 1))
static let faint = color(light: rgba(141, 152, 170, 1), dark: rgba(112, 127, 148, 1))
static let line = color(light: rgba(224, 231, 240, 1), dark: rgba(255, 255, 255, 0.10))
static let brand = color(light: rgba(11, 27, 51, 1), dark: rgba(7, 10, 16, 1))
static let primary = color(light: rgba(18, 96, 214, 1), dark: rgba(96, 165, 250, 1))
static let onPrimary = color(light: rgba(255, 255, 255, 1), dark: rgba(5, 22, 43, 1))
static let danger = color(light: rgba(199, 44, 44, 1), dark: rgba(248, 113, 113, 1))
static let onDanger = color(light: rgba(255, 255, 255, 1), dark: rgba(24, 7, 7, 1))
static let warning = color(light: rgba(176, 84, 12, 1), dark: rgba(245, 158, 11, 1))
static let success = color(light: rgba(16, 124, 90, 1), dark: rgba(74, 222, 128, 1))
static let segmentTrack = color(light: rgba(236, 240, 246, 1), dark: rgba(12, 17, 25, 1))
static let segmentSelected = color(light: rgba(255, 255, 255, 1), dark: rgba(48, 61, 81, 1))
static let cardShadow = color(light: rgba(15, 30, 60, 0.07), dark: rgba(0, 0, 0, 0.55))
// 石墨灰阶:所有中性色 R≈G≈B,不带蓝调;主色让位给黑/白,颜色只用来表达状态。
static let canvas = color(light: rgba(244, 245, 245, 1), dark: rgba(8, 9, 9, 1))
static let surface = color(light: rgba(255, 255, 255, 1), dark: rgba(19, 21, 21, 1))
static let surfaceRaised = color(light: rgba(255, 255, 255, 1), dark: rgba(27, 29, 30, 1))
static let control = color(light: rgba(238, 239, 239, 1), dark: rgba(36, 39, 40, 1))
static let tile = color(light: rgba(246, 247, 247, 1), dark: rgba(255, 255, 255, 0.055))
static let tileLine = color(light: rgba(231, 233, 233, 1), dark: rgba(255, 255, 255, 0.09))
static let chrome = color(light: rgba(252, 252, 252, 0.92), dark: rgba(11, 12, 12, 0.88))
static let ink = color(light: rgba(17, 19, 20, 1), dark: rgba(240, 242, 242, 1))
static let muted = color(light: rgba(88, 94, 97, 1), dark: rgba(158, 165, 168, 1))
static let faint = color(light: rgba(126, 132, 135, 1), dark: rgba(112, 118, 121, 1))
static let line = color(light: rgba(223, 226, 226, 1), dark: rgba(255, 255, 255, 0.11))
static let brand = color(light: rgba(18, 20, 21, 1), dark: rgba(8, 9, 9, 1))
static let primary = color(light: rgba(21, 24, 25, 1), dark: rgba(238, 241, 241, 1))
static let onPrimary = color(light: rgba(255, 255, 255, 1), dark: rgba(12, 14, 14, 1))
static let danger = color(light: rgba(193, 46, 40, 1), dark: rgba(247, 113, 105, 1))
static let onDanger = color(light: rgba(255, 255, 255, 1), dark: rgba(24, 8, 7, 1))
static let warning = color(light: rgba(170, 92, 15, 1), dark: rgba(233, 166, 60, 1))
static let success = color(light: rgba(16, 122, 86, 1), dark: rgba(66, 199, 132, 1))
static let segmentTrack = color(light: rgba(234, 236, 236, 1), dark: rgba(26, 29, 29, 1))
static let segmentSelected = color(light: rgba(255, 255, 255, 1), dark: rgba(54, 58, 59, 1))
static let cardShadow = color(light: rgba(17, 22, 25, 0.06), dark: rgba(0, 0, 0, 0.60))
#elseif canImport(AppKit)
static let canvas = Color(red: 0.914, green: 0.933, blue: 0.961)
static let canvas = Color(red: 0.957, green: 0.961, blue: 0.961)
static let surface = Color.white
static let control = Color(red: 0.941, green: 0.957, blue: 0.980)
static let ink = Color(red: 0.035, green: 0.086, blue: 0.169)
static let muted = Color(red: 0.275, green: 0.341, blue: 0.435)
static let line = Color(red: 0.827, green: 0.867, blue: 0.918)
static let brand = Color(red: 0.035, green: 0.086, blue: 0.169)
static let control = Color(red: 0.933, green: 0.937, blue: 0.937)
static let ink = Color(red: 0.067, green: 0.075, blue: 0.078)
static let muted = Color(red: 0.345, green: 0.369, blue: 0.380)
static let line = Color(red: 0.875, green: 0.886, blue: 0.886)
static let brand = Color(red: 0.071, green: 0.078, blue: 0.082)
static let surfaceRaised = Color.white
static let chrome = Color.white.opacity(0.86)
static let onPrimary = Color.white
static let onDanger = Color.white
static let primary = Color(red: 0.145, green: 0.388, blue: 0.922)
static let danger = Color(red: 0.784, green: 0.118, blue: 0.118)
static let warning = Color(red: 0.706, green: 0.325, blue: 0.035)
static let success = Color(red: 0.071, green: 0.502, blue: 0.361)
static let tile = Color(red: 0.969, green: 0.976, blue: 0.988)
static let tileLine = Color(red: 0.914, green: 0.937, blue: 0.969)
static let faint = Color(red: 0.553, green: 0.596, blue: 0.667)
static let segmentTrack = Color(red: 0.925, green: 0.941, blue: 0.965)
static let primary = Color(red: 0.082, green: 0.094, blue: 0.098)
static let danger = Color(red: 0.757, green: 0.180, blue: 0.157)
static let warning = Color(red: 0.667, green: 0.361, blue: 0.059)
static let success = Color(red: 0.063, green: 0.478, blue: 0.337)
static let tile = Color(red: 0.965, green: 0.969, blue: 0.969)
static let tileLine = Color(red: 0.906, green: 0.914, blue: 0.914)
static let faint = Color(red: 0.494, green: 0.518, blue: 0.529)
static let segmentTrack = Color(red: 0.918, green: 0.925, blue: 0.925)
static let segmentSelected = Color.white
static let cardShadow = Color(red: 0.059, green: 0.118, blue: 0.235).opacity(0.07)
static let cardShadow = Color(red: 0.067, green: 0.086, blue: 0.098).opacity(0.06)
#else
private static func color(_ red: CGFloat, _ green: CGFloat, _ blue: CGFloat) -> Color {
Color(red: red / 255, green: green / 255, blue: blue / 255)