{
  "schema_version": "hardware-structure/v2",
  "unit": "mm",
  "product_id": "gaming-keyboard",
  "title": "ACE68 磁轴电竞键盘结构 DEMO",
  "revision": "engineering-fit-r1-20261016",
  "updated_at": "2026-10-16",
  "coordinate_system": "X=宽度，Y=高度，Z=深度；原点位于键盘几何中心",
  "envelope": {
    "external": {
      "width": 334,
      "depth": 118,
      "height": 38,
      "center": [
        0,
        0,
        0
      ]
    },
    "internal": {
      "width": 330,
      "depth": 114,
      "height": 28,
      "center": [
        0,
        1,
        0
      ]
    },
    "wall_thickness": 2
  },
  "openings": [
    {
      "id": "usb-rear",
      "label": "后置 USB-C 开孔",
      "center": [
        0,
        -4,
        -59
      ],
      "axis": [
        0,
        0,
        -1
      ],
      "width": 10,
      "height": 4,
      "alignment_tolerance_mm": 0.5
    }
  ],
  "parts": [
    {
      "id": "lower-shell",
      "label": "下壳",
      "group": "shell",
      "type": "box",
      "dimensions": {
        "width": 334,
        "height": 6,
        "depth": 118
      },
      "position": [
        0,
        -16,
        0
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        -1,
        0
      ],
      "material": "阳极氧化铝",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "2026-10-16 工程装配修订；尺寸为 design_proposed，见 engineering_update.source_constraints，非供应商 CAD 或实物确认。"
    },
    {
      "id": "top-frame",
      "label": "上框总成（四边梁实体见子零件）",
      "group": "shell",
      "type": "box",
      "dimensions": {
        "width": 334,
        "height": 8,
        "depth": 118
      },
      "position": [
        0,
        8,
        0
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        1,
        0
      ],
      "material": "喷砂铝合金",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "2026-10-16 工程装配修订；尺寸为 design_proposed，见 engineering_update.source_constraints，非供应商 CAD 或实物确认。",
      "render_mode": "metadata_only"
    },
    {
      "id": "switch-plate",
      "label": "68 键轴体定位板",
      "group": "bracket",
      "type": "box",
      "dimensions": {
        "width": 328,
        "height": 1.5,
        "depth": 99
      },
      "position": [
        0,
        2,
        0
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        0.8,
        0
      ],
      "material": "5052 铝板",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "2026-10-16 工程装配修订；尺寸为 design_proposed，见 engineering_update.source_constraints，非供应商 CAD 或实物确认。"
    },
    {
      "id": "switch-matrix",
      "label": "68 键磁轴与透光键帽阵列",
      "group": "interface",
      "type": "box",
      "dimensions": {
        "width": 322.8,
        "height": 9.6,
        "depth": 94.2
      },
      "position": [
        0,
        14,
        0
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        1.2,
        0
      ],
      "material": "PBT 透光键帽 + 磁轴",
      "quantity": 68,
      "source_status": "design_proposed",
      "source_reference": "2026-10-16 工程装配修订；尺寸为 design_proposed，见 engineering_update.source_constraints，非供应商 CAD 或实物确认。",
      "render_mode": "pattern_only",
      "color": "#dce7ea"
    },
    {
      "id": "main-pcba",
      "label": "主键盘 PCBA",
      "group": "pcb",
      "type": "box",
      "dimensions": {
        "width": 316,
        "height": 1.6,
        "depth": 97
      },
      "position": [
        0,
        -3,
        0
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        -0.7,
        0
      ],
      "material": "FR-4 4 层",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "2026-10-16 工程装配修订；尺寸为 design_proposed，见 engineering_update.source_constraints，非供应商 CAD 或实物确认。",
      "inside_envelope": true
    },
    {
      "id": "io-pcba",
      "label": "USB-C 子板",
      "group": "pcb",
      "type": "box",
      "dimensions": {
        "width": 34,
        "depth": 10,
        "height": 1.0
      },
      "position": [
        0,
        -5,
        -52
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        -0.7,
        0
      ],
      "material": "FR-4 4 层",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "2026-10-16 工程装配修订；尺寸为 design_proposed，见 engineering_update.source_constraints，非供应商 CAD 或实物确认。",
      "inside_envelope": true
    },
    {
      "id": "mcu-envelope",
      "label": "键盘控制 MCU",
      "group": "sensor",
      "type": "box",
      "dimensions": {
        "width": 10,
        "depth": 10,
        "height": 1.2
      },
      "position": [
        62,
        -1.6,
        4
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        0.5,
        0
      ],
      "material": "封装器件",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "2026-10-16 工程装配修订；尺寸为 design_proposed，见 engineering_update.source_constraints，非供应商 CAD 或实物确认。",
      "inside_envelope": true
    },
    {
      "id": "usb-connector",
      "label": "USB-C 母座",
      "group": "interface",
      "type": "box",
      "dimensions": {
        "width": 9,
        "depth": 7.5,
        "height": 3.2
      },
      "position": [
        0,
        -4,
        -59
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        0,
        -1
      ],
      "material": "不锈钢外壳",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "2026-10-16 工程装配修订；尺寸为 design_proposed，见 engineering_update.source_constraints，非供应商 CAD 或实物确认。",
      "opening_id": "usb-rear"
    },
    {
      "id": "interconnect",
      "label": "USB 子板柔性线束",
      "group": "cable",
      "type": "cable",
      "dimensions": {
        "diameter": 2.2,
        "bend_radius": 8
      },
      "position": [
        0,
        0,
        0
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        -0.4,
        0
      ],
      "path": [
        [
          0,
          -5,
          -52
        ],
        [
          12,
          -6,
          -31
        ],
        [
          20,
          -6,
          -12
        ],
        [
          12,
          -5,
          8
        ]
      ],
      "material": "6 芯 FFC",
      "quantity": 1,
      "source_status": "pending_verification",
      "source_reference": "附件线束路径建议",
      "allowed_contacts": [
        "main-pcba",
        "io-pcba"
      ]
    },
    {
      "id": "top-frame-left",
      "label": "上框边梁 left",
      "group": "shell",
      "type": "box",
      "dimensions": {
        "width": 4,
        "height": 8,
        "depth": 118
      },
      "position": [
        -165,
        8,
        0
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        0,
        1
      ],
      "material": "工程设计建议材料；牌号、尺寸公差与供货待确认",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "2026-10-16 engineering-fit proposal; not vendor CAD or physical verification"
    },
    {
      "id": "top-frame-right",
      "label": "上框边梁 right",
      "group": "shell",
      "type": "box",
      "dimensions": {
        "width": 4,
        "height": 8,
        "depth": 118
      },
      "position": [
        165,
        8,
        0
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        0,
        1
      ],
      "material": "工程设计建议材料；牌号、尺寸公差与供货待确认",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "2026-10-16 engineering-fit proposal; not vendor CAD or physical verification"
    },
    {
      "id": "top-frame-front",
      "label": "上框边梁 front",
      "group": "shell",
      "type": "box",
      "dimensions": {
        "width": 326,
        "height": 8,
        "depth": 4
      },
      "position": [
        0,
        8,
        57
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        0,
        1
      ],
      "material": "工程设计建议材料；牌号、尺寸公差与供货待确认",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "2026-10-16 engineering-fit proposal; not vendor CAD or physical verification"
    },
    {
      "id": "top-frame-rear",
      "label": "上框边梁 rear",
      "group": "shell",
      "type": "box",
      "dimensions": {
        "width": 326,
        "height": 8,
        "depth": 4
      },
      "position": [
        0,
        8,
        -57
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        0,
        1
      ],
      "material": "工程设计建议材料；牌号、尺寸公差与供货待确认",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "2026-10-16 engineering-fit proposal; not vendor CAD or physical verification"
    }
  ],
  "relations": [
    {
      "id": "plate-parallel-pcb",
      "type": "bracket_axis",
      "part_ids": [
        "switch-plate",
        "main-pcba"
      ],
      "axis_a": [
        0,
        1,
        0
      ],
      "axis_b": [
        0,
        1,
        0
      ],
      "expected_deg": 0,
      "tolerance_deg": 0.5,
      "description": "定位板与主板保持平行"
    },
    {
      "id": "usb-to-opening",
      "type": "interface_alignment",
      "part_ids": [
        "usb-connector"
      ],
      "clearance_mm": 0.5,
      "description": "USB-C 母座中心与后壳开孔中心一致"
    },
    {
      "id": "key-pitch",
      "type": "pattern_pitch",
      "part_ids": [
        "switch-matrix",
        "switch-plate"
      ],
      "pitch_mm": 19.05,
      "description": "68 键阵列采用 19.05 mm 标准键距"
    }
  ],
  "engineering_boundary": "2026-10-16 工程装配提案：已修正列出的名义几何矛盾并建立可执行空间校验。所有新增/改动尺寸为 design_proposed；不是供应商原生 CAD，不证明公差、材料、强度、热、密封、射频、传感性能或量产放行。现有概念照片仅保留为外观参考，后续需供应商图纸和样机验证。",
  "assemblies": [
    {
      "id": "installation",
      "label": "宿主与安装基准",
      "part_ids": []
    },
    {
      "id": "product-body",
      "label": "主体与内部装配",
      "part_ids": [
        "lower-shell",
        "top-frame",
        "switch-matrix",
        "main-pcba",
        "io-pcba",
        "mcu-envelope",
        "usb-connector",
        "switch-plate",
        "interconnect"
      ]
    },
    {
      "id": "engineering-fit-components",
      "label": "2026-10-16 装配修订实体零件",
      "part_ids": [
        "top-frame-left",
        "top-frame-right",
        "top-frame-front",
        "top-frame-rear"
      ]
    }
  ],
  "patterns": [
    {
      "id": "ace68-keycap-layout",
      "type": "key_layout",
      "label": "ACE68 透光键帽阵列",
      "source_part_id": "switch-matrix",
      "origin": [
        -161.925,
        14,
        -38.1
      ],
      "pitch_mm": 19.05,
      "gap_mm": 1.05,
      "height_mm": 9.6,
      "rows": [
        [
          {
            "label": "ESC",
            "x": 0,
            "u": 1
          },
          {
            "label": "1",
            "x": 1,
            "u": 1
          },
          {
            "label": "2",
            "x": 2,
            "u": 1
          },
          {
            "label": "3",
            "x": 3,
            "u": 1
          },
          {
            "label": "4",
            "x": 4,
            "u": 1
          },
          {
            "label": "5",
            "x": 5,
            "u": 1
          },
          {
            "label": "6",
            "x": 6,
            "u": 1
          },
          {
            "label": "7",
            "x": 7,
            "u": 1
          },
          {
            "label": "8",
            "x": 8,
            "u": 1
          },
          {
            "label": "9",
            "x": 9,
            "u": 1
          },
          {
            "label": "0",
            "x": 10,
            "u": 1
          },
          {
            "label": "-",
            "x": 11,
            "u": 1
          },
          {
            "label": "=",
            "x": 12,
            "u": 1
          },
          {
            "label": "BACK",
            "x": 13,
            "u": 2
          },
          {
            "label": "INS",
            "x": 15,
            "u": 1
          }
        ],
        [
          {
            "label": "TAB",
            "x": 0,
            "u": 1.5
          },
          {
            "label": "Q",
            "x": 1.5,
            "u": 1
          },
          {
            "label": "W",
            "x": 2.5,
            "u": 1
          },
          {
            "label": "E",
            "x": 3.5,
            "u": 1
          },
          {
            "label": "R",
            "x": 4.5,
            "u": 1
          },
          {
            "label": "T",
            "x": 5.5,
            "u": 1
          },
          {
            "label": "Y",
            "x": 6.5,
            "u": 1
          },
          {
            "label": "U",
            "x": 7.5,
            "u": 1
          },
          {
            "label": "I",
            "x": 8.5,
            "u": 1
          },
          {
            "label": "O",
            "x": 9.5,
            "u": 1
          },
          {
            "label": "P",
            "x": 10.5,
            "u": 1
          },
          {
            "label": "[",
            "x": 11.5,
            "u": 1
          },
          {
            "label": "]",
            "x": 12.5,
            "u": 1
          },
          {
            "label": "\\",
            "x": 13.5,
            "u": 1.5
          },
          {
            "label": "DEL",
            "x": 15,
            "u": 1
          }
        ],
        [
          {
            "label": "CAPS",
            "x": 0,
            "u": 1.75
          },
          {
            "label": "A",
            "x": 1.75,
            "u": 1
          },
          {
            "label": "S",
            "x": 2.75,
            "u": 1
          },
          {
            "label": "D",
            "x": 3.75,
            "u": 1
          },
          {
            "label": "F",
            "x": 4.75,
            "u": 1
          },
          {
            "label": "G",
            "x": 5.75,
            "u": 1
          },
          {
            "label": "H",
            "x": 6.75,
            "u": 1
          },
          {
            "label": "J",
            "x": 7.75,
            "u": 1
          },
          {
            "label": "K",
            "x": 8.75,
            "u": 1
          },
          {
            "label": "L",
            "x": 9.75,
            "u": 1
          },
          {
            "label": ";",
            "x": 10.75,
            "u": 1
          },
          {
            "label": "'",
            "x": 11.75,
            "u": 1
          },
          {
            "label": "ENTER",
            "x": 12.75,
            "u": 2.25
          },
          {
            "label": "PGUP",
            "x": 15,
            "u": 1
          }
        ],
        [
          {
            "label": "SHIFT",
            "x": 0,
            "u": 2.25
          },
          {
            "label": "Z",
            "x": 2.25,
            "u": 1
          },
          {
            "label": "X",
            "x": 3.25,
            "u": 1
          },
          {
            "label": "C",
            "x": 4.25,
            "u": 1
          },
          {
            "label": "V",
            "x": 5.25,
            "u": 1
          },
          {
            "label": "B",
            "x": 6.25,
            "u": 1
          },
          {
            "label": "N",
            "x": 7.25,
            "u": 1
          },
          {
            "label": "M",
            "x": 8.25,
            "u": 1
          },
          {
            "label": ",",
            "x": 9.25,
            "u": 1
          },
          {
            "label": ".",
            "x": 10.25,
            "u": 1
          },
          {
            "label": "/",
            "x": 11.25,
            "u": 1
          },
          {
            "label": "SHIFT",
            "x": 12.25,
            "u": 1.75
          },
          {
            "label": "UP",
            "x": 14,
            "u": 1
          },
          {
            "label": "PGDN",
            "x": 15,
            "u": 1
          }
        ],
        [
          {
            "label": "CTRL",
            "x": 0,
            "u": 1.25
          },
          {
            "label": "WIN",
            "x": 1.25,
            "u": 1.25
          },
          {
            "label": "ALT",
            "x": 2.5,
            "u": 1.25
          },
          {
            "label": "SPACE",
            "x": 3.75,
            "u": 6.25
          },
          {
            "label": "ALT",
            "x": 10,
            "u": 1.25
          },
          {
            "label": "FN",
            "x": 11.25,
            "u": 1.25
          },
          {
            "label": "CTRL",
            "x": 12.5,
            "u": 1.5
          },
          {
            "label": "LEFT",
            "x": 14,
            "u": 1
          },
          {
            "label": "DOWN",
            "x": 15,
            "u": 1
          },
          {
            "label": "RIGHT",
            "x": 16,
            "u": 1
          }
        ]
      ]
    }
  ],
  "interfaces": [
    {
      "id": "interface-4",
      "part_id": "switch-matrix",
      "opening_id": null,
      "purpose": "68 键磁轴与透光键帽阵列"
    },
    {
      "id": "interface-8",
      "part_id": "usb-connector",
      "opening_id": "usb-rear",
      "purpose": "USB-C 母座"
    },
    {
      "id": "keyboard-common-datums",
      "part_ids": [
        "switch-plate",
        "main-pcba",
        "switch-matrix"
      ],
      "purpose": "68 个键中心由同一 key_layout 生成；定位板与 Hall PCB 刚性定位后作为整体悬挂。PCB 仍以 1.6 mm 为待验证基线，不宣称匹配磁轴。",
      "status": "design_proposed",
      "datum": "plate_center_XZ",
      "pcb_thickness_variants_mm": [
        1.2,
        1.6
      ],
      "switch_cutout_status": "pending_exact_switch_drawing"
    },
    {
      "id": "keyboard-usb-load-path",
      "part_ids": [
        "io-pcba",
        "usb-connector",
        "top-frame-rear"
      ],
      "purpose": "USB 插拔载荷由后框肩部承担，小板可单独拆换；当前开孔是名义中心，固定耳/屏蔽外壳图待冻结。",
      "status": "design_proposed"
    }
  ],
  "cables": [
    {
      "part_id": "interconnect",
      "path": [
        [
          0,
          -5,
          -52
        ],
        [
          12,
          -6,
          -31
        ],
        [
          20,
          -6,
          -12
        ],
        [
          12,
          -5,
          8
        ]
      ]
    }
  ],
  "assembly_steps": [
    {
      "id": "step-01",
      "sequence": 1,
      "label": "安装内部电子与功能模组",
      "part_ids": [
        "switch-matrix",
        "main-pcba",
        "io-pcba",
        "mcu-envelope",
        "usb-connector"
      ],
      "direction": [
        0,
        1,
        0
      ],
      "status": "supplier_drawing"
    },
    {
      "id": "step-02",
      "sequence": 2,
      "label": "闭合主体外壳",
      "part_ids": [
        "lower-shell",
        "top-frame"
      ],
      "direction": [
        0,
        1,
        0
      ],
      "status": "design_proposed"
    },
    {
      "id": "step-03",
      "sequence": 3,
      "label": "连接支架和线缆",
      "part_ids": [
        "switch-plate",
        "interconnect"
      ],
      "direction": [
        0,
        0,
        1
      ],
      "status": "pending_verification"
    },
    {
      "id": "engineering-step-4",
      "sequence": 4,
      "label": "同一夹具定位板、磁轴和 Hall PCB，再安装四边框与 USB 小板；先完成单键厚度/磁路夹具。",
      "part_ids": [
        "switch-plate",
        "main-pcba",
        "top-frame-left",
        "top-frame-right",
        "top-frame-front",
        "top-frame-rear",
        "io-pcba"
      ],
      "direction": [
        0,
        0,
        1
      ],
      "status": "design_proposed"
    }
  ],
  "validation_rules": [
    {
      "id": "internal-envelope-rule",
      "type": "inside_envelope",
      "severity": "error"
    },
    {
      "id": "opening-alignment-rule",
      "type": "opening_alignment",
      "severity": "error"
    },
    {
      "id": "service-direction-rule",
      "type": "assembly_direction",
      "severity": "warning"
    },
    {
      "id": "keyboard-functional-stack",
      "type": "keyboard_layout_fit",
      "severity": "error",
      "evaluator": "scripts/verify_priority_structure_geometry.py",
      "keycap_edge_clearance_mm": 1,
      "switch_plate_edge_clearance_mm": 1,
      "hall_board_edge_clearance_mm": 1,
      "switch_body_size_mm": 15.6,
      "hall_body_size_mm": 2.9
    }
  ],
  "dimension_sources": [
    {
      "id": "confirmed-inputs",
      "status": "customer_confirmed",
      "scope": "客户已确认的产品目标尺寸",
      "reference": "项目需求基线"
    },
    {
      "id": "supplier-mechanical",
      "status": "supplier_drawing",
      "scope": "器件与连接器机械包络",
      "reference": "候选器件机械图"
    },
    {
      "id": "design-values",
      "status": "design_proposed",
      "scope": "外壳、支架与空间关系",
      "reference": "结构设计建议"
    },
    {
      "id": "physical-verification",
      "status": "pending_verification",
      "scope": "公差、材料和装配可靠性",
      "reference": "样机实测待完成"
    },
    {
      "id": "engineering-fit-20261016",
      "status": "design_proposed",
      "scope": "7 案例的腔体、部件包络、功能基准与装配修订",
      "reference": "docs/engineering/traffic-production-20261016/README.md; engineering_update.source_constraints"
    }
  ],
  "visual_assets": [
    {
      "id": "product-concept-photo",
      "type": "ai_generated_concept_photo",
      "url": "/hardware-structure/photos/gaming-keyboard-photo-v1.jpg",
      "source_status": "ai_generated_concept",
      "revision": "photo-v1",
      "truth_boundary": {
        "zh": "AI 生成的产品概念照片，用于表达外观与使用场景，不是量产实物摄影。",
        "en": "AI-generated product concept image for form and use context; not a photograph of a manufactured unit."
      }
    },
    {
      "id": "structure-thumbnail",
      "type": "structure_preview",
      "url": "/hardware-structure/thumbnails/gaming-keyboard.svg"
    }
  ],
  "assumptions": [
    "324 × 112 × 38 mm 外包络和 19.05 mm 键距来自附件结构方案，仍需实物和供应商图纸复核。",
    "68 键键帽按参数阵列渲染，轴体细节、卫星轴、螺钉柱、泡棉和硅胶垫暂以包络表达。",
    "网页模型用于装配顺序、空间和接口评审，不替代正式 STEP、公差链和量产图纸。",
    "本次实际装配几何优先于旧照片投影和原型模板；未执行的环境、强度、寿命及校准测试不因名义空间检查通过而完成。"
  ],
  "keyboard_demo_profile": {
    "renderer": "orthographic-canvas/v1",
    "internal_bottom_z_mm": 6,
    "key_layout_origin_mm": [
      -161.925,
      -38.1
    ],
    "key_pitch_mm": 19.05,
    "key_gap_mm": 1.05,
    "keycap_height_mm": 9.6,
    "switch_body_size_mm": 15.6,
    "switch_body_height_mm": 11.5,
    "sensor_body_size_mm": 2.9,
    "sensor_body_height_mm": 0.9,
    "explode_max_distance_mm": 42,
    "layer_positions_mm": {
      "bottom-case": [
        0,
        0,
        3
      ],
      "top-housing": [
        0,
        0,
        27
      ],
      "switch-plate": [
        0,
        0,
        21
      ],
      "main-pcb": [
        0,
        0,
        16
      ],
      "usb-daughterboard": [
        0,
        52,
        14
      ],
      "usb-c-connector": [
        0,
        59,
        15
      ],
      "controller-mcu": [
        62,
        -4,
        17.4
      ],
      "sensor-array": [
        0,
        0,
        17.25
      ],
      "switch-array": [
        0,
        0,
        25
      ],
      "keycap-set": [
        0,
        0,
        33
      ]
    },
    "usb_opening_center_mm": [
      0,
      59,
      15
    ],
    "cable_path_mm": [
      [
        0,
        52,
        14
      ],
      [
        12,
        31,
        13
      ],
      [
        20,
        12,
        13
      ],
      [
        12,
        -8,
        14
      ]
    ],
    "coordinate_transform_from_shared": {
      "axis_map": [
        "x",
        "-z",
        "y+19"
      ],
      "note": "所有键中心和刚性层坐标与共享模型一致；专用视图以底面为 Z=0。"
    }
  },
  "engineering_update": {
    "revision": "engineering-fit-r1-20261016",
    "supersedes_revision": "demo-r2-68key",
    "status": "design_proposed",
    "production_ready": false,
    "physical_verified": false,
    "geometry_review_status": "pending_physical_validation",
    "source_constraints": [
      {
        "id": "gateron-thickness",
        "url": "https://www.gateron.com/u_file/2505/21/file/GateronMagneticJadeProSwitchKS-20TF10B045NW-Y106PRO1.pdf",
        "constraint": "候选磁轴的磁场参考涉及 1.2 mm PCB；当前 1.6 mm 不可视为自动兼容，须用两厚度夹具测全行程。",
        "application": "source_constraint_only_proposed_geometry_not_vendor_drawing"
      }
    ],
    "remaining_gates": [
      "定位板每孔与大键卫星轴 CAD、螺柱和连接器固定耳仍待具体供应商图纸。",
      "68 键磁场/板厚/装壳漂移与逐键校准尚未实测；外形改为 334×118×38 mm 提案。"
    ],
    "check_scope": "仅验证所列名义空间、功能位置和装配关系；不代表完整碰撞、强度、密封、电气或量产验收。",
    "proposal_status": "proposed",
    "design_changes": [
      {
        "id": "fit-change-1",
        "title": "统一键位和外壳坐标",
        "summary": "68 键和 19.05 mm 间距保留；17U 最宽行重新居中，334×118×38 mm 外包络、328 mm 定位板与316 mm PCB提供边界余量。",
        "part_ids": [
          "switch-matrix",
          "switch-plate",
          "main-pcba",
          "top-frame"
        ]
      },
      {
        "id": "fit-change-2",
        "title": "统一两种渲染坐标",
        "summary": "专用视图按 X=x、Y=-z、Z=y+19 映射；键位及 PCB/USB 层位置使用同一物理基准。",
        "part_ids": [
          "main-pcba",
          "io-pcba",
          "usb-connector"
        ]
      }
    ]
  }
}
