/* 数据层 — 机型 / 对比维度 / 场景权重 / 数据清单 / 工具库。导出到 window。
   机型实测值参考《LG 65 G5》《海信 85 E8S》两份评测报告，其余为代表性数值。 */

const TVS = [
  { id: 'g5',  name: 'LG 65 G5',           brand: 'LG',      panel: 'OLED evo',     size: 65, price: '¥19,999',
    attrs: { 亮度: 70, 黑位: 100, 色彩: 96, 抗反: 88, 游戏: 98, 音频: 72, HDR: 84, 系统: 90 } },
  { id: 'e8s', name: '海信 85 E8S',         brand: 'Hisense', panel: 'RGB-MiniLED',  size: 85, price: '¥13,999',
    attrs: { 亮度: 98, 黑位: 82, 色彩: 90, 抗反: 78, 游戏: 80, 音频: 90, HDR: 96, 系统: 86 } },
  { id: 'sny', name: 'Sony 65 BRAVIA 8 II', brand: 'Sony',    panel: 'QD-OLED',      size: 65, price: '¥21,999',
    attrs: { 亮度: 82, 黑位: 100, 色彩: 99, 抗反: 90, 游戏: 88, 音频: 84, HDR: 90, 系统: 82 } },
  { id: 'tcl', name: 'TCL 85 Q10K',        brand: 'TCL',     panel: 'Mini LED',     size: 85, price: '¥11,999',
    attrs: { 亮度: 94, 黑位: 80, 色彩: 88, 抗反: 74, 游戏: 86, 音频: 80, HDR: 92, 系统: 78 } },
];

// 对比维度 → 指标行。better: 'hi' 越大越好 / 'lo' 越小越好 / null 定性（不高亮）
const DIMS = [
  { key: 'pic', label: '画质', icon: 'gamut', metrics: [
    { name: '峰值亮度', unit: 'nit', better: 'hi', vals: { g5: 1500, e8s: 5000, sny: 4000, tcl: 4500 } },
    { name: '全屏亮度', unit: 'nit', better: 'hi', vals: { g5: 320, e8s: 1600, sny: 460, tcl: 1400 } },
    { name: '色域 DCI-P3', unit: '%', better: 'hi', vals: { g5: 99, e8s: 97, sny: 99.5, tcl: 96 } },
    { name: '色准', unit: 'ΔE', better: 'lo', vals: { g5: 1.2, e8s: 1.8, sny: 1.0, tcl: 2.2 } },
    { name: '控光分区', unit: '', better: null, vals: { g5: '逐像素', e8s: '2340 区', sny: '逐像素', tcl: '1500 区' } },
    { name: '反射率', unit: '%', better: 'lo', vals: { g5: 1.6, e8s: 2.4, sny: 1.3, tcl: 2.8 } },
  ] },
  { key: 'game', label: '游戏', icon: 'bolt', metrics: [
    { name: '输入延迟 4K120', unit: 'ms', better: 'lo', vals: { g5: 5.0, e8s: 9.2, sny: 8.5, tcl: 6.4 } },
    { name: '响应时间', unit: 'ms', better: 'lo', vals: { g5: 0.3, e8s: 6.5, sny: 0.3, tcl: 5.8 } },
    { name: '最高刷新率', unit: 'Hz', better: 'hi', vals: { g5: 165, e8s: 144, sny: 120, tcl: 144 } },
    { name: 'HDMI 2.1 口', unit: '个', better: 'hi', vals: { g5: 4, e8s: 2, sny: 2, tcl: 3 } },
    { name: 'VRR / ALLM', unit: '', better: null, vals: { g5: '支持', e8s: '支持', sny: '支持', tcl: '支持' } },
  ] },
  { key: 'hdr', label: 'HDR', icon: 'eotf', metrics: [
    { name: '峰值亮度', unit: 'nit', better: 'hi', vals: { g5: 1500, e8s: 5000, sny: 4000, tcl: 4500 } },
    { name: '杜比视界', unit: '', better: null, vals: { g5: '✓', e8s: '✓', sny: '✓', tcl: '✓' } },
    { name: 'HDR10+', unit: '', better: null, vals: { g5: '—', e8s: '✓', sny: '—', tcl: '✓' } },
    { name: 'EOTF 跟踪', unit: '', better: null, vals: { g5: '优', e8s: '优', sny: '优', tcl: '良' } },
    { name: '色域覆盖', unit: '%', better: 'hi', vals: { g5: 99, e8s: 97, sny: 99.5, tcl: 96 } },
  ] },
  { key: 'av', label: '影音·系统', icon: 'broadcast', metrics: [
    { name: '音频功率', unit: 'W', better: 'hi', vals: { g5: 60, e8s: 80, sny: 70, tcl: 60 } },
    { name: '杜比全景声', unit: '', better: null, vals: { g5: '✓', e8s: '✓', sny: '✓', tcl: '✓' } },
    { name: 'DTS-X', unit: '', better: null, vals: { g5: '—', e8s: '✓', sny: '—', tcl: '✓' } },
    { name: 'NAS 网盘', unit: '', better: null, vals: { g5: '✓', e8s: '✓', sny: '部分', tcl: '✓' } },
    { name: '运行内存', unit: 'GB', better: 'hi', vals: { g5: 3, e8s: 4, sny: 4, tcl: 3 } },
  ] },
  { key: 'io', label: '接口', icon: 'plug', metrics: [
    { name: 'HDMI 2.1 口', unit: '个', better: 'hi', vals: { g5: 4, e8s: 2, sny: 2, tcl: 3 } },
    { name: 'eARC', unit: '', better: null, vals: { g5: '✓', e8s: '✓', sny: '✓', tcl: '✓' } },
    { name: 'USB 口', unit: '个', better: 'hi', vals: { g5: 3, e8s: 2, sny: 2, tcl: 3 } },
    { name: '网口', unit: '', better: null, vals: { g5: '千兆', e8s: '千兆', sny: '千兆', tcl: '千兆' } },
    { name: '无线', unit: '', better: null, vals: { g5: 'WiFi 6', e8s: 'WiFi 6', sny: 'WiFi 6E', tcl: 'WiFi 6' } },
  ] },
];

// 场景 → 属性权重（用于推荐）。sum≈1
const SCENES = [
  { key: 'living', label: '客厅·亮', blurb: '强环境光、白天看',
    w: { 亮度: .30, 抗反: .25, HDR: .15, 色彩: .15, 游戏: .05, 音频: .05, 黑位: .05 } },
  { key: 'bedroom', label: '卧室·暗', blurb: '暗房、夜里看',
    w: { 黑位: .35, 色彩: .20, 音频: .10, 游戏: .10, HDR: .10, 亮度: .05, 抗反: .05 } },
  { key: 'game', label: '游戏', blurb: '主机 / PC 高刷',
    w: { 游戏: .40, 黑位: .15, 亮度: .10, 色彩: .10, HDR: .10, 系统: .10, 音频: .05 } },
  { key: 'movie', label: '影音', blurb: '电影 / 流媒体',
    w: { 音频: .30, HDR: .20, 色彩: .15, 系统: .15, 亮度: .10, 黑位: .05, 游戏: .05 } },
];

const ATTR_KEYS = ['亮度', '黑位', '色彩', '抗反', '游戏', '音频', 'HDR', '系统'];

// ============ 数据清单（去重 55 项：done 17 / todo 11 / ext 27）============
const DATA_ITEMS = [
  { name: '整机三维·重量·厚度·底座', tier: 'done', n: 15 },
  { name: '面板规格·分区·刷新·芯片·内存', tier: 'done', n: 12 },
  { name: '峰值·全屏亮度', tier: 'done', n: 11 },
  { name: '安装·安全·防倾倒规则', tier: 'ext', src: '规则', n: 10 },
  { name: '历史价·到手价·库存', tier: 'ext', src: '市场', n: 8 },
  { name: '色域·色准·色温·灰阶·光谱', tier: 'done', n: 7 },
  { name: '视频播放·NAS网盘·格式·字幕·语音', tier: 'done', n: 7 },
  { name: 'App安装·投屏·HDMI-CEC·生态联动', tier: 'todo', n: 7 },
  { name: '电视墙净宽·插座·障碍·墙体', tier: 'ext', src: '空间', n: 7 },
  { name: '反射率·抗反光', tier: 'done', n: 6 },
  { name: '对比度·黑位·控光分区·暗场', tier: 'done', n: 6 },
  { name: 'HDMI·eARC·USB·网口', tier: 'done', n: 6 },
  { name: '场景评分·推荐权重', tier: 'done', n: 6 },
  { name: 'VESA·支架承重', tier: 'todo', n: 6 },
  { name: '观看距离·眼高·沙发布局', tier: 'ext', src: '空间', n: 6 },
  { name: '用户设备·旧机·使用画像', tier: 'ext', src: '空间', n: 6 },
  { name: '去广告/直播/片源/校准 知识', tier: 'ext', src: '规则', n: 6 },
  { name: '可视角·离轴色偏', tier: 'done', n: 5 },
  { name: '耐久·烧屏·亮度/背光衰减', tier: 'todo', n: 5 },
  { name: '二手行情·回收·以旧换新', tier: 'ext', src: '市场', n: 5 },
  { name: '送装/搬家/维修/延保 费', tier: 'ext', src: '市场', n: 5 },
  { name: '户型图·朝向·楼层·面积', tier: 'ext', src: '空间', n: 5 },
  { name: '家庭网络·带宽·WiFi', tier: 'ext', src: '空间', n: 5 },
  { name: '入户门·楼道·转角·台阶', tier: 'ext', src: '小区', n: 5 },
  { name: '售后·保修·验机·故障树', tier: 'ext', src: '规则', n: 5 },
  { name: '系统体验·开机广告·启动·纯净度', tier: 'done', n: 4 },
  { name: '遥控器·配件形态', tier: 'done', n: 4 },
  { name: '交付成败·可信度', tier: 'ext', src: '小区', n: 4 },
  { name: '运动响应·拖影·刷新率', tier: 'done', n: 3 },
  { name: '输入延迟·VRR·ALLM·游戏兼容', tier: 'done', n: 3 },
  { name: '频闪 SVM', tier: 'done', n: 3 },
  { name: '包装箱三维·重量', tier: 'todo', n: 3 },
  { name: '低蓝光占比〔可由光谱算〕', tier: 'todo', n: 3 },
  { name: '满载发热·表面温度', tier: 'todo', n: 3 },
  { name: '国补·地区补贴·名额', tier: 'ext', src: '市场', n: 3 },
  { name: 'SKU-渠道-马甲·保修差异', tier: 'ext', src: '市场', n: 3 },
  { name: '故障率·失效统计', tier: 'ext', src: '市场', n: 3 },
  { name: '窗户朝向·采光·遮光', tier: 'ext', src: '空间', n: 3 },
  { name: '小区·楼栋·电梯尺寸', tier: 'ext', src: '小区', n: 3 },
  { name: '视距·尺寸推荐规则', tier: 'ext', src: '规则', n: 3 },
  { name: '朝向反光·采光风险规则', tier: 'ext', src: '规则', n: 3 },
  { name: '屏幕均匀性', tier: 'done', n: 2 },
  { name: '外观·做工·颜值评分', tier: 'done', n: 2 },
  { name: '音质实测·音量·低频·声场', tier: 'todo', n: 2 },
  { name: '音画同步 lip-sync 延迟', tier: 'todo', n: 2 },
  { name: '高码率解码·流媒体流畅度', tier: 'todo', n: 2 },
  { name: '自动亮度限制 ABL 行为', tier: 'todo', n: 2 },
  { name: '促销日历·平台券', tier: 'ext', src: '市场', n: 2 },
  { name: '会员价·内容目录·平台码率', tier: 'ext', src: '市场', n: 2 },
  { name: '功耗·SDR/HDR/待机', tier: 'todo', n: 1 },
  { name: '新品周期·代际差异·清仓', tier: 'ext', src: '市场', n: 1 },
  { name: '各地电价', tier: 'ext', src: '市场', n: 1 },
  { name: '电视柜尺寸', tier: 'ext', src: '空间', n: 1 },
  { name: '使用环境·温湿度·油烟·盐雾', tier: 'ext', src: '空间', n: 1 },
  { name: '低价陷阱·配置缩水识别规则', tier: 'ext', src: '规则', n: 1 },
];

// ============ 工具库 ============
const TOOLS_FRONT = [
  { n: 'AR 量房 · 尺寸 · 摆放', icon: 'scan', act: '手机 AR 量电视墙净宽、看多大尺寸合适、量入户路径；一人量全楼众包复用。', ret: ['电视墙净宽', '观看距离/推荐尺寸', '入户路径尺寸', '交付可行性'] },
  { n: 'AI 客厅合成预览', icon: 'palette', act: '拍客厅照，AI 按真实尺寸/透视把电视融进照片（联动 AR 量墙校准）。', ret: ['意向机型', '摆放/尺寸偏好', '背景墙条件'] },
  { n: '采光 · 环境光检测', icon: 'sun', act: '手机拍照测光，分时段采样估客厅照度区间，反推抗反与亮度需求。', ret: ['环境光照度区间', '强光/直射朝向', '抗反需求', '亮度余量/护眼'] },
  { n: '旧机估值变现（转转式）', icon: 'cube', act: '拍照识别型号 → 成色结构化问答 → 含上门搬运费估价 → 对接回收/寄卖。', ret: ['旧机型号/现状', '期望换新方向'] },
  { n: '交互对比看板', icon: 'crosshair', act: '勾选候选机型，滑动并排对比实测画质与参数。', ret: ['意向机型清单', '关注维度'] },
  { n: '开箱验机 · 故障上报', icon: 'eye', act: '按清单拍照打卡验收，随手上报故障与售后。', ret: ['验机结果', '故障样本'] },
];

const TOOLS_BACK = [
  { t: '需求 · 画像 · 预算', d: '要不要换 / 买多大 / 多少钱 / 何时买', tools: ['换机价值评估', '大屏品类抉择', '租房友好选购', '预算甜点计算', '价格时机提醒', '补贴资格查询', '新品周期日历', '会员省钱规划'] },
  { t: '场景 · 人群适配', d: '哪台适合我家的房间与人', tools: ['客厅亮度适配', '卧室场景适配', '夜间观影方案', '多人视角检查', '游戏电视筛选', '当显示器风险', '老人友好评分', '儿童家庭适配', '声音够用评估', '运动清晰度', '移动观看方案'] },
  { t: '空间 · 安装 · 运输', d: '放得下 / 装得上 / 搬得进', tools: ['公共户型图拉取', '装修预留清单', '电视墙适配检查', '电视柜承载', '挂墙安全检查', '线缆美观检查', '支架占地评分', '防倾倒检查', '朝向反光风险', '入户可行性', '入户路径风险', '交付备选方案', '送装成本估算', '搬家运输方案'] },
  { t: '型号核查 · 系统 · 内容', d: '别买错 / 用得爽', tools: ['型号避坑查询', '低价版本识别', '虚标核查', '接口需求规划', '生态兼容查询', '系统体验评分', '应用投屏兼容', '遥控器合一', '网络就绪检查', '看直播方案', '高质量片源', '一键最佳设置', '去广告指南', '配件替代查询'] },
  { t: '长期 · 售后 · 处置', d: '用得久 / 坏了怎么办 / 换新', tools: ['三年用电成本', '长期可靠性', '环境耐久提示', '故障自诊', '维修价值计算', '报废处置指南'] },
];

// ============ 首页演示精选（源：db dump 评测报告；全量品牌/机型见 dbdata.jsx，_mkdb.py 生成）============
// DBTV 挑 6 台跨品牌跨价位，价格/面板/亮点均出自对应评测报告；id 对应报告 id（dbview 用它补详情）。
const DBTV = [
  { id: 10000788, brand: '海信', model: '85 E8S',           panel: 'RGB-MiniLED', size: 85, price: 14999, hl: 'RGB 光晕控制出色' },
  { id: 10000735, brand: 'LG',   model: '65 G5',            panel: 'OLED',        size: 65, price: 21999, hl: '四层 WOLED · 2500nit' },
  { id: 10000225, brand: 'TCL',  model: '85 Q10L',          panel: 'QD-MiniLED',  size: 85, price: 11999, hl: '万象分区 · 超窄金属边' },
  { id: 10000219, brand: '雷鸟', model: '85 鹤7 PRO',        panel: 'QD-MiniLED',  size: 85, price: 9799,  hl: '同价位控光标杆' },
  { id: 10000220, brand: '三星', model: '85LS03D',          panel: 'QLED',        size: 85, price: 23999, hl: 'The Frame 画壁电视' },
  { id: 10000228, brand: '华为', model: 'Vision 5 75',      panel: 'MiniLED',     size: 75, price: 5647,  hl: '鸿蒙生态 · 1600nit' },
];

Object.assign(window, { TVS, DIMS, SCENES, ATTR_KEYS, DATA_ITEMS, TOOLS_FRONT, TOOLS_BACK, DBTV });
