{
  "schema_version": "hardware-structure/v2",
  "unit": "mm",
  "product_id": "creative-046",
  "title": "046 远程零食摄像机结构概念评审",
  "revision": "codex-geometry-c6",
  "updated_at": "2026-09-19",
  "coordinate_system": "X=产品宽度，Y=上下，Z=前后；原点位于产品主体外包络中心",
  "case_metadata": {
    "case_id": 46,
    "domain": "宠物与动物",
    "name": "远程零食摄像机",
    "user_value": "主人可视频查看并按次投放零食，同时限制每日总量。",
    "discovery_platform": "Product Hunt",
    "source_grade": "C",
    "source_url": "https://www.producthunt.com/search?q=pet%20camera%20treat%20dispenser",
    "mvp_path": "树莓派提供视频；ESP32 独立控制出粮；服务器签名命令；本地按钮仍可用。",
    "components": "Raspberry Pi、摄像头、ESP32、步进电机、称重",
    "software_stack": "WebRTC、FastAPI、MQTT",
    "github_project": "DIY Cheap Cat Feeder",
    "github_url": "https://github.com/rubengargar/diy-cheap-cat-feeder",
    "match_level": "近似",
    "bom_estimate_cny": 780,
    "difficulty": 4,
    "novelty": 3,
    "demand": 5,
    "reuse": 4,
    "risk": 4,
    "differentiation": "端到端本地视频、日配额与卡粮检测。",
    "safety_boundary": "摄像头隐私、宠物过量进食和远程鉴权要处理。",
    "recommendation_score": 61,
    "structural_archetype": "pet_camera",
    "prototype_family": "optical-device",
    "prototype_label_zh": "摄像、光学与定向感知设备",
    "prototype_label_en": "Camera, optical and directional sensing device",
    "prototype_version": "creative-host-assembly/v1",
    "migration_role": "prototype_migrated",
    "assembly_topology": [
      "安装宿主",
      "光学前窗",
      "传感器与主板",
      "光轴或视场"
    ],
    "dimension_authority": "design_proposed_and_pending_verification",
    "structure_evidence": [
      {
        "id": "workbook-source-046",
        "url": "https://www.producthunt.com/search?q=pet%20camera%20treat%20dispenser",
        "kind": "discovery_source",
        "claim": "工作簿记录的创意发现来源；只证明市场灵感，不证明机械尺寸。",
        "application": "idea_provenance_only"
      },
      {
        "id": "pet_feeder",
        "url": "https://manuals.plus/asin/B0C5WGSGKK",
        "kind": "product_manual",
        "claim": "自动喂食器由可拆料仓、转子、主机、食盆和双电源仓组成。",
        "application": "analogous_structure_reference"
      }
    ],
    "evidence_maturity": "analogous_reference",
    "recognition_parts": [
      "广角相机",
      "零食料仓",
      "抛食转盘",
      "麦克风扬声器",
      "防滑底座"
    ],
    "geometry_authority": "concept_photo_primary",
    "geometry_generation_method": "codex_agent_closed_loop",
    "geometry_iteration": 6,
    "geometry_fingerprint": "sha256:90a310c24249ff5a516c2b1ede664840a0568dde3cfc19c8151e88bdbc8fd308",
    "structure_quality_revision": "structure-visual-r5",
    "structure_quality_remediation": {
      "revision": "structure-visual-r5",
      "remediated_at": "2026-09-19",
      "previous_geometry_revision": "codex-geometry-c5",
      "geometry_revision": "codex-geometry-c6",
      "trigger": "independent_blind_concept_review",
      "prior_visual_status": "rework_required",
      "reason": "脱离标题的独立概念盲审未能通过轮廓、宿主关系和关键功能件可靠辨认产品类别。",
      "before": [
        "脱离标题后，原默认视图未能让盲审者通过轮廓、宿主关系和关键功能件可靠辨认产品类别。"
      ],
      "before_metrics": {
        "parts": 10,
        "openings": 0,
        "assemblies": 3,
        "assembly_steps": 3
      },
      "after": [
        "按真实使用姿态重建主体轮廓、宿主关系、关键功能件和功能路径。",
        "默认等轴测仅表达概念结构；尺寸、隐藏结构和制造可行性继续等待盲评与工程师审核。"
      ],
      "after_metrics": {
        "parts": 12,
        "openings": 3,
        "assemblies": 3,
        "assembly_steps": 3
      },
      "truth_boundary": "本次只完成结构概念重做；独立盲评、物理验证、工程师审核和工程放行均未完成。"
    }
  },
  "envelope": {
    "external": {
      "width": 170,
      "depth": 150,
      "height": 270,
      "center": [
        0,
        20,
        0
      ]
    },
    "internal": {
      "width": 144,
      "depth": 120,
      "height": 244,
      "center": [
        0,
        20,
        0
      ]
    },
    "wall_thickness": 3
  },
  "openings": [
    {
      "id": "camera-opening",
      "label": "广角相机前窗",
      "center": [
        -27,
        31,
        68
      ],
      "axis": [
        0,
        0,
        1
      ],
      "width": 48,
      "height": 48,
      "alignment_tolerance_mm": 1.0,
      "source_status": "design_proposed",
      "truth_boundary": "概念开孔位置；尺寸、公差、圆角与紧固方式必须由工程师根据实物板卡复核。"
    },
    {
      "id": "speaker-opening",
      "label": "扬声器声孔区",
      "center": [
        34,
        23,
        66
      ],
      "axis": [
        0,
        0,
        1
      ],
      "width": 45,
      "height": 36,
      "alignment_tolerance_mm": 1.0,
      "source_status": "design_proposed",
      "truth_boundary": "概念开孔位置；尺寸、公差、圆角与紧固方式必须由工程师根据实物板卡复核。"
    },
    {
      "id": "treat-chute-opening",
      "label": "零食抛出口",
      "center": [
        0,
        -74,
        70
      ],
      "axis": [
        0,
        0,
        1
      ],
      "width": 66,
      "height": 40,
      "alignment_tolerance_mm": 1.0,
      "source_status": "design_proposed",
      "truth_boundary": "概念开孔位置；尺寸、公差、圆角与紧固方式必须由工程师根据实物板卡复核。"
    }
  ],
  "prototype_instance": {
    "schema_version": "creative-host-assembly/v1",
    "prototype_family": "optical-device",
    "prototype_label_zh": "摄像、光学与定向感知设备",
    "prototype_label_en": "Camera, optical and directional sensing device",
    "host_strategy": "contextual",
    "shell_strategy": "optical_body",
    "assembly_topology": [
      "安装宿主",
      "光学前窗",
      "传感器与主板",
      "光轴或视场"
    ],
    "migration_role": "prototype_migrated"
  },
  "assemblies": [
    {
      "id": "host",
      "label": "桌面宿主",
      "part_ids": [
        "host-counter"
      ]
    },
    {
      "id": "food-path",
      "label": "料仓与抛食机构",
      "part_ids": [
        "treat-hopper",
        "hopper-lid",
        "drive-motor",
        "treat-chute",
        "throw-disc"
      ]
    },
    {
      "id": "camera-body",
      "label": "摄像主机",
      "part_ids": [
        "codex-body",
        "wide-camera",
        "camera-bezel",
        "speaker-mic-panel",
        "anti-slip-base",
        "control-pcba"
      ]
    }
  ],
  "parts": [
    {
      "id": "host-counter",
      "label": "家庭桌面尺度参考",
      "group": "host",
      "type": "box",
      "dimensions": {
        "width": 520,
        "depth": 410,
        "height": 10
      },
      "position": [
        0,
        -130,
        5
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        0,
        1
      ],
      "material": "家庭桌面",
      "quantity": 1,
      "source_status": "pending_verification",
      "source_reference": "creative-046 concept-image interpretation rebuilt for silhouette and use-context recognition; all millimetre values, hidden geometry, materials, fasteners and manufacturing feasibility remain design proposals pending physical and engineering review",
      "appearance": {
        "color": "#756d63",
        "opacity": 0.18,
        "roughness": 0.5,
        "metalness": 0.05
      },
      "color": "#756d63",
      "photo_derived": true,
      "photo_component_id": "host-context",
      "source_target_id": "host-context",
      "source_part_ids": [
        "host-counter"
      ],
      "photo_visible": true,
      "camera_fit": false
    },
    {
      "id": "codex-body",
      "label": "零食摄像机主机",
      "group": "shell",
      "type": "rounded_box",
      "dimensions": {
        "width": 150,
        "depth": 126,
        "height": 178,
        "corner_radius": 18
      },
      "position": [
        0,
        -27,
        0
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        0,
        1
      ],
      "material": "哑光 ABS",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "creative-046 concept-image interpretation rebuilt for silhouette and use-context recognition; all millimetre values, hidden geometry, materials, fasteners and manufacturing feasibility remain design proposals pending physical and engineering review",
      "appearance": {
        "color": "#f0eee8",
        "opacity": 1.0,
        "roughness": 0.68,
        "metalness": 0.05
      },
      "color": "#f0eee8",
      "photo_derived": true,
      "photo_component_id": "product-silhouette",
      "source_target_id": "product-silhouette",
      "source_part_ids": [
        "codex-body"
      ],
      "photo_visible": true,
      "photo_bbox": [
        585,
        125,
        845,
        928
      ],
      "photo_polygon": [
        [
          600,
          130
        ],
        [
          700,
          125
        ],
        [
          780,
          130
        ],
        [
          820,
          145
        ],
        [
          835,
          180
        ],
        [
          840,
          250
        ],
        [
          838,
          400
        ],
        [
          835,
          500
        ],
        [
          840,
          600
        ],
        [
          842,
          750
        ],
        [
          845,
          850
        ],
        [
          840,
          900
        ],
        [
          830,
          915
        ],
        [
          780,
          925
        ],
        [
          700,
          928
        ],
        [
          630,
          920
        ]
      ]
    },
    {
      "id": "treat-hopper",
      "label": "零食料仓",
      "group": "shell",
      "type": "tapered_cylinder",
      "dimensions": {
        "top_diameter": 128,
        "bottom_diameter": 104,
        "length": 116
      },
      "position": [
        0,
        98,
        -5
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        0,
        1
      ],
      "material": "半透明食品级料仓",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "creative-046 concept-image interpretation rebuilt for silhouette and use-context recognition; all millimetre values, hidden geometry, materials, fasteners and manufacturing feasibility remain design proposals pending physical and engineering review",
      "appearance": {
        "color": "#d9ece5",
        "opacity": 0.46,
        "roughness": 0.22,
        "metalness": 0.05
      },
      "color": "#d9ece5",
      "recognition_role": true,
      "evidence_ids": [
        "workbook-source-046",
        "pet_feeder"
      ],
      "photo_derived": true,
      "photo_component_id": "recognition-02",
      "source_target_id": "recognition-02",
      "source_part_ids": [
        "treat-hopper"
      ],
      "photo_visible": true,
      "photo_bbox": [
        785,
        510,
        830,
        770
      ],
      "photo_polygon": [
        [
          790,
          515
        ],
        [
          820,
          510
        ],
        [
          828,
          550
        ],
        [
          830,
          650
        ],
        [
          828,
          720
        ],
        [
          825,
          760
        ],
        [
          815,
          770
        ],
        [
          795,
          765
        ],
        [
          788,
          720
        ],
        [
          785,
          650
        ],
        [
          787,
          550
        ]
      ]
    },
    {
      "id": "hopper-lid",
      "label": "料仓密封盖",
      "group": "shell",
      "type": "cylinder",
      "dimensions": {
        "diameter": 132,
        "length": 10
      },
      "position": [
        0,
        160,
        -5
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        0,
        1
      ],
      "material": "ABS",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "creative-046 concept-image interpretation rebuilt for silhouette and use-context recognition; all millimetre values, hidden geometry, materials, fasteners and manufacturing feasibility remain design proposals pending physical and engineering review",
      "appearance": {
        "color": "#e7e1d7",
        "opacity": 1.0,
        "roughness": 0.65,
        "metalness": 0.05
      },
      "color": "#e7e1d7"
    },
    {
      "id": "wide-camera",
      "label": "广角相机",
      "group": "sensor",
      "type": "lens",
      "dimensions": {
        "diameter": 38,
        "length": 12
      },
      "position": [
        -27,
        31,
        68
      ],
      "rotation_deg": [
        90,
        0,
        0
      ],
      "explode_vector": [
        0,
        0,
        1
      ],
      "material": "玻璃镜片与黑色镜筒",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "creative-046 concept-image interpretation rebuilt for silhouette and use-context recognition; all millimetre values, hidden geometry, materials, fasteners and manufacturing feasibility remain design proposals pending physical and engineering review",
      "appearance": {
        "color": "#17242a",
        "opacity": 1.0,
        "roughness": 0.16,
        "metalness": 0.05
      },
      "color": "#17242a",
      "recognition_role": true,
      "evidence_ids": [
        "workbook-source-046",
        "pet_feeder"
      ],
      "photo_derived": true,
      "photo_component_id": "recognition-01",
      "source_target_id": "recognition-01",
      "source_part_ids": [
        "wide-camera"
      ],
      "photo_visible": true,
      "photo_bbox": [
        623,
        200,
        697,
        375
      ],
      "photo_polygon": [
        [
          625,
          205
        ],
        [
          660,
          200
        ],
        [
          690,
          210
        ],
        [
          697,
          260
        ],
        [
          695,
          330
        ],
        [
          685,
          365
        ],
        [
          660,
          375
        ],
        [
          635,
          365
        ],
        [
          625,
          330
        ],
        [
          623,
          260
        ]
      ],
      "opening_id": "camera-opening"
    },
    {
      "id": "camera-bezel",
      "label": "相机装饰环",
      "group": "interface",
      "type": "ring",
      "dimensions": {
        "outer_diameter": 48,
        "inner_diameter": 39,
        "width": 7
      },
      "position": [
        -27,
        31,
        66
      ],
      "rotation_deg": [
        90,
        0,
        0
      ],
      "explode_vector": [
        0,
        0,
        1
      ],
      "material": "阳极氧化铝",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "creative-046 concept-image interpretation rebuilt for silhouette and use-context recognition; all millimetre values, hidden geometry, materials, fasteners and manufacturing feasibility remain design proposals pending physical and engineering review",
      "appearance": {
        "color": "#3b4649",
        "opacity": 1.0,
        "roughness": 0.5,
        "metalness": 0.5
      },
      "color": "#3b4649"
    },
    {
      "id": "speaker-mic-panel",
      "label": "麦克风扬声器",
      "group": "interface",
      "type": "rounded_box",
      "dimensions": {
        "width": 45,
        "depth": 6,
        "height": 36,
        "corner_radius": 7
      },
      "position": [
        34,
        23,
        66
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        0,
        1
      ],
      "material": "声学网罩",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "creative-046 concept-image interpretation rebuilt for silhouette and use-context recognition; all millimetre values, hidden geometry, materials, fasteners and manufacturing feasibility remain design proposals pending physical and engineering review",
      "appearance": {
        "color": "#566568",
        "opacity": 1.0,
        "roughness": 0.72,
        "metalness": 0.05
      },
      "color": "#566568",
      "recognition_role": true,
      "evidence_ids": [
        "workbook-source-046",
        "pet_feeder"
      ],
      "photo_derived": true,
      "photo_component_id": "recognition-04",
      "source_target_id": "recognition-04",
      "source_part_ids": [
        "speaker-mic-panel"
      ],
      "photo_visible": true,
      "photo_bbox": [
        625,
        440,
        675,
        530
      ],
      "photo_polygon": [
        [
          630,
          445
        ],
        [
          660,
          440
        ],
        [
          670,
          450
        ],
        [
          675,
          485
        ],
        [
          672,
          515
        ],
        [
          665,
          525
        ],
        [
          645,
          530
        ],
        [
          630,
          520
        ],
        [
          625,
          485
        ],
        [
          628,
          455
        ]
      ],
      "opening_id": "speaker-opening"
    },
    {
      "id": "treat-chute",
      "label": "前置抛食出口",
      "group": "interface",
      "type": "rounded_box",
      "dimensions": {
        "width": 62,
        "depth": 24,
        "height": 36,
        "corner_radius": 12
      },
      "position": [
        0,
        -74,
        70
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        0,
        1
      ],
      "material": "食品级 PP",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "creative-046 concept-image interpretation rebuilt for silhouette and use-context recognition; all millimetre values, hidden geometry, materials, fasteners and manufacturing feasibility remain design proposals pending physical and engineering review",
      "appearance": {
        "color": "#242d30",
        "opacity": 1.0,
        "roughness": 0.5,
        "metalness": 0.05
      },
      "color": "#242d30",
      "opening_id": "treat-chute-opening"
    },
    {
      "id": "throw-disc",
      "label": "抛食转盘",
      "group": "interface",
      "type": "cylinder",
      "dimensions": {
        "diameter": 58,
        "length": 12
      },
      "position": [
        0,
        -91,
        73
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        0,
        1
      ],
      "material": "食品级 PP 转盘",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "creative-046 concept-image interpretation rebuilt for silhouette and use-context recognition; all millimetre values, hidden geometry, materials, fasteners and manufacturing feasibility remain design proposals pending physical and engineering review",
      "appearance": {
        "color": "#e8a44f",
        "opacity": 1.0,
        "roughness": 0.5,
        "metalness": 0.05
      },
      "color": "#e8a44f",
      "recognition_role": true,
      "evidence_ids": [
        "workbook-source-046",
        "pet_feeder"
      ],
      "photo_derived": true,
      "photo_component_id": "recognition-03",
      "source_target_id": "recognition-03",
      "source_part_ids": [
        "throw-disc"
      ],
      "photo_visible": true,
      "photo_bbox": [
        612,
        615,
        685,
        750
      ],
      "photo_polygon": [
        [
          615,
          620
        ],
        [
          660,
          615
        ],
        [
          680,
          625
        ],
        [
          685,
          680
        ],
        [
          682,
          730
        ],
        [
          670,
          745
        ],
        [
          640,
          750
        ],
        [
          620,
          740
        ],
        [
          612,
          690
        ],
        [
          612,
          650
        ]
      ]
    },
    {
      "id": "anti-slip-base",
      "label": "防滑底座",
      "group": "bracket",
      "type": "rounded_box",
      "dimensions": {
        "width": 162,
        "depth": 142,
        "height": 16,
        "corner_radius": 8
      },
      "position": [
        0,
        -123,
        0
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        0,
        1
      ],
      "material": "TPE 防滑底座",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "creative-046 concept-image interpretation rebuilt for silhouette and use-context recognition; all millimetre values, hidden geometry, materials, fasteners and manufacturing feasibility remain design proposals pending physical and engineering review",
      "appearance": {
        "color": "#354144",
        "opacity": 1.0,
        "roughness": 0.92,
        "metalness": 0.05
      },
      "color": "#354144",
      "recognition_role": true,
      "evidence_ids": [
        "workbook-source-046",
        "pet_feeder"
      ],
      "photo_derived": true,
      "photo_component_id": "recognition-05",
      "source_target_id": "recognition-05",
      "source_part_ids": [
        "anti-slip-base"
      ],
      "photo_visible": true,
      "photo_bbox": [
        585,
        780,
        845,
        925
      ],
      "photo_polygon": [
        [
          590,
          790
        ],
        [
          650,
          780
        ],
        [
          750,
          775
        ],
        [
          820,
          785
        ],
        [
          840,
          800
        ],
        [
          845,
          850
        ],
        [
          840,
          900
        ],
        [
          830,
          915
        ],
        [
          780,
          925
        ],
        [
          700,
          928
        ],
        [
          630,
          920
        ],
        [
          595,
          905
        ],
        [
          585,
          850
        ]
      ]
    },
    {
      "id": "drive-motor",
      "label": "出粮步进电机",
      "group": "sensor",
      "type": "cylinder",
      "dimensions": {
        "diameter": 36,
        "length": 42
      },
      "position": [
        0,
        -56,
        -8
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        0,
        1
      ],
      "material": "金属齿轮电机",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "creative-046 concept-image interpretation rebuilt for silhouette and use-context recognition; all millimetre values, hidden geometry, materials, fasteners and manufacturing feasibility remain design proposals pending physical and engineering review",
      "appearance": {
        "color": "#657276",
        "opacity": 1.0,
        "roughness": 0.5,
        "metalness": 0.4
      },
      "color": "#657276",
      "inside_envelope": true
    },
    {
      "id": "control-pcba",
      "label": "摄像与投食控制 PCBA",
      "group": "pcb",
      "type": "box",
      "dimensions": {
        "width": 88,
        "depth": 2,
        "height": 58
      },
      "position": [
        0,
        5,
        -18
      ],
      "rotation_deg": [
        0,
        0,
        0
      ],
      "explode_vector": [
        0,
        0,
        1
      ],
      "material": "FR-4",
      "quantity": 1,
      "source_status": "design_proposed",
      "source_reference": "creative-046 concept-image interpretation rebuilt for silhouette and use-context recognition; all millimetre values, hidden geometry, materials, fasteners and manufacturing feasibility remain design proposals pending physical and engineering review",
      "appearance": {
        "color": "#207a52",
        "opacity": 1.0,
        "roughness": 0.5,
        "metalness": 0.05
      },
      "color": "#207a52",
      "inside_envelope": true
    }
  ],
  "patterns": [],
  "relations": [
    {
      "id": "base-on-counter",
      "type": "installed_on",
      "part_ids": [
        "anti-slip-base",
        "host-counter"
      ],
      "description": "防滑底座将整机稳定放置在桌面。"
    },
    {
      "id": "hopper-feeds-disc",
      "type": "gravity_feed",
      "part_ids": [
        "treat-hopper",
        "throw-disc"
      ],
      "description": "料仓落料到受电机驱动的抛食转盘。"
    },
    {
      "id": "camera-above-chute",
      "type": "aligned_with",
      "part_ids": [
        "wide-camera",
        "treat-chute"
      ],
      "description": "相机位于抛食口上方观察宠物。"
    }
  ],
  "interfaces": [
    {
      "id": "video-audio",
      "label": "视频与双向音频",
      "part_ids": [
        "wide-camera",
        "speaker-mic-panel"
      ]
    },
    {
      "id": "food-output",
      "label": "按次投食",
      "part_ids": [
        "treat-chute",
        "throw-disc"
      ]
    }
  ],
  "cables": [],
  "assembly_steps": [
    {
      "id": "step-01",
      "sequence": 1,
      "label": "安装投食电机和控制板",
      "part_ids": [
        "drive-motor",
        "control-pcba"
      ],
      "direction": [
        0,
        0,
        1
      ],
      "status": "design_proposed"
    },
    {
      "id": "step-02",
      "sequence": 2,
      "label": "装配摄像、音频和抛食出口",
      "part_ids": [
        "wide-camera",
        "camera-bezel",
        "speaker-mic-panel",
        "treat-chute",
        "throw-disc"
      ],
      "direction": [
        0,
        0,
        -1
      ],
      "status": "design_proposed"
    },
    {
      "id": "step-03",
      "sequence": 3,
      "label": "扣合料仓、上盖和防滑底座",
      "part_ids": [
        "codex-body",
        "treat-hopper",
        "hopper-lid",
        "anti-slip-base"
      ],
      "direction": [
        0,
        -1,
        0
      ],
      "status": "pending_verification"
    }
  ],
  "validation_rules": [
    {
      "id": "codex-photo-form",
      "type": "photo_form_identity",
      "minimum_score": 85,
      "severity": "error"
    },
    {
      "id": "recognition-parts",
      "type": "photo_component_coverage",
      "minimum_count": 5,
      "severity": "error"
    },
    {
      "id": "assembly-legibility",
      "type": "assembly_relationship_legibility",
      "minimum_score": 85,
      "severity": "error"
    },
    {
      "id": "geometry-uniqueness",
      "type": "cross_case_geometry_uniqueness",
      "minimum_score": 85,
      "severity": "error"
    }
  ],
  "dimension_sources": [
    {
      "id": "concept-photo-form",
      "status": "design_proposed",
      "scope": "可见轮廓、宿主、安装点、零件数量和相对位置",
      "reference": "/hardware-structure/photos/creative-046-photo-v1.jpg"
    },
    {
      "id": "codex-c-loop-geometry",
      "status": "design_proposed",
      "scope": "照片驱动参数几何、内部装配、工作路径和浏览器评审视图",
      "reference": "Codex Agent -> code -> render -> visual review -> patch, iteration 4"
    },
    {
      "id": "hidden-dimensions",
      "status": "pending_verification",
      "scope": "照片不可见的深度、背面、壁厚、紧固、密封、公差和真实材料",
      "reference": "Requires multi-view images, supplier drawings or physical measurement"
    }
  ],
  "visual_assets": [
    {
      "id": "product-concept-photo",
      "type": "ai_generated_concept_photo",
      "url": "/hardware-structure/photos/creative-046-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/creative-046.svg"
    }
  ],
  "photo_structure_contract": {
    "schema_version": "creative-photo-structure-contract/v1",
    "photo_revision": "photo-v1",
    "structure_revision": "codex-geometry-c6",
    "prototype_family": "optical-device",
    "migration_role": "prototype_migrated",
    "host": "动物/饲养环境基准",
    "installation": "产品通过安装件与动物/饲养环境基准建立可检查的空间关系",
    "scale_reference": "动物/饲养环境基准",
    "visual_cues": [
      "广角相机",
      "零食料仓",
      "抛食转盘",
      "麦克风扬声器",
      "防滑底座"
    ],
    "expected_recognition_parts": [
      "广角相机",
      "零食料仓",
      "抛食转盘",
      "麦克风扬声器",
      "防滑底座"
    ],
    "pixel_review_status": "photo_geometry_rebuilt_pending_review",
    "truth_boundary": "结构契约验证照片和参数模型共享同一组可识别部件；非像素级 CAD 重建。",
    "quality_status": "reworked_pending_blind_visual_review"
  },
  "assumptions": [
    "轮廓、宿主关系与关键功能件用于概念辨识，仍需新一轮独立盲评。",
    "全部毫米尺寸、材料、固定、密封、电气安全、公差和维护空间均为设计建议，待工程师和实物复核。",
    "本次重做不构成实物测试、制造可行性或工程放行证据。"
  ],
  "engineering_boundary": "该网页结构以 /hardware-structure/photos/creative-046-photo-v1.jpg 的 AI 概念图为外观输入，由 Codex Agent 重建可检查的参数几何。它只用于产品形态、宿主安装、内部包络和方案评审；所有毫米尺寸仍为设计建议或待复核值，不是正式 CAD、STEP、Gerber、模具、认证或量产放行文件。",
  "photo_reconstruction": {
    "schema_version": "creative-photo-reconstruction/v1",
    "product_id": "creative-046",
    "case_id": 46,
    "photo_revision": "photo-v1",
    "structure_input_revision": "codex-geometry-c6",
    "generated_at": "2026-09-03",
    "photo": {
      "url": "/hardware-structure/photos/creative-046-photo-v1.jpg",
      "width_px": 960,
      "height_px": 600,
      "sha256": "21fa630d5f49ced0971984607d8972b172f8b6d55bdc4569a47d9bac8385aec2",
      "coordinate_system": "normalized image space 0..1000; origin top-left"
    },
    "targets": [
      {
        "id": "host-context",
        "label": "动物/饲养环境基准",
        "role": "host",
        "part_ids": [
          "host-counter"
        ],
        "instruction": "Tight box around the physical host or use surface that establishes installation and scale.",
        "bound_part_ids": [
          "host-counter"
        ]
      },
      {
        "id": "recognition-01",
        "label": "广角相机",
        "role": "visible_part",
        "part_ids": [
          "wide-camera"
        ],
        "instruction": "Tight box and polygon around this visible photo-defining part or repeated group.",
        "bound_part_ids": [
          "wide-camera"
        ]
      },
      {
        "id": "recognition-02",
        "label": "零食料仓",
        "role": "product_shell",
        "part_ids": [
          "treat-hopper"
        ],
        "instruction": "Tight box and polygon around this visible photo-defining part or repeated group.",
        "bound_part_ids": [
          "treat-hopper"
        ]
      },
      {
        "id": "recognition-03",
        "label": "抛食转盘",
        "role": "visible_part",
        "part_ids": [
          "throw-disc"
        ],
        "instruction": "Tight box and polygon around this visible photo-defining part or repeated group.",
        "bound_part_ids": [
          "throw-disc"
        ]
      },
      {
        "id": "recognition-04",
        "label": "麦克风扬声器",
        "role": "visible_part",
        "part_ids": [
          "speaker-mic-panel"
        ],
        "instruction": "Tight box and polygon around this visible photo-defining part or repeated group.",
        "bound_part_ids": [
          "speaker-mic-panel"
        ]
      },
      {
        "id": "recognition-05",
        "label": "防滑底座",
        "role": "mount",
        "part_ids": [
          "anti-slip-base"
        ],
        "instruction": "Tight box and polygon around this visible photo-defining part or repeated group.",
        "bound_part_ids": [
          "anti-slip-base"
        ]
      },
      {
        "id": "product-silhouette",
        "label": "产品主体整体轮廓",
        "role": "product_shell",
        "part_ids": [
          "codex-body"
        ],
        "instruction": "Trace the complete visible product silhouette, excluding the host and background.",
        "bound_part_ids": [
          "codex-body"
        ]
      }
    ],
    "regions": [
      {
        "target_id": "host-context",
        "role": "host",
        "bbox": [
          0,
          0,
          999,
          999
        ],
        "polygon": [
          [
            0,
            0
          ],
          [
            999,
            0
          ],
          [
            999,
            999
          ],
          [
            0,
            999
          ]
        ],
        "visible": true,
        "confidence": 0.95,
        "shape_hint": "cylinder",
        "visual_description": "室内居家环境，浅色地毯地面，包含沙发、绿植、木质边柜等家具，为产品提供安装基准和尺度参考"
      },
      {
        "target_id": "recognition-01",
        "role": "visible_part",
        "bbox": [
          623,
          200,
          697,
          375
        ],
        "polygon": [
          [
            625,
            205
          ],
          [
            660,
            200
          ],
          [
            690,
            210
          ],
          [
            697,
            260
          ],
          [
            695,
            330
          ],
          [
            685,
            365
          ],
          [
            660,
            375
          ],
          [
            635,
            365
          ],
          [
            625,
            330
          ],
          [
            623,
            260
          ]
        ],
        "visible": true,
        "confidence": 0.98,
        "shape_hint": "cylinder",
        "visual_description": "顶部黑色球面广角相机模组，镜头居中，带有绿色状态指示灯，嵌入白色外壳的圆形凹槽内"
      },
      {
        "target_id": "recognition-02",
        "role": "product_shell",
        "bbox": [
          785,
          510,
          830,
          770
        ],
        "polygon": [
          [
            790,
            515
          ],
          [
            820,
            510
          ],
          [
            828,
            550
          ],
          [
            830,
            650
          ],
          [
            828,
            720
          ],
          [
            825,
            760
          ],
          [
            815,
            770
          ],
          [
            795,
            765
          ],
          [
            788,
            720
          ],
          [
            785,
            650
          ],
          [
            787,
            550
          ]
        ],
        "visible": true,
        "confidence": 0.95,
        "shape_hint": "cylinder",
        "visual_description": "右侧透明/半透明弧形零食料仓窗口，可见内部棕色颗粒状零食，纵向长条形设计"
      },
      {
        "target_id": "recognition-03",
        "role": "visible_part",
        "bbox": [
          612,
          615,
          685,
          750
        ],
        "polygon": [
          [
            615,
            620
          ],
          [
            660,
            615
          ],
          [
            680,
            625
          ],
          [
            685,
            680
          ],
          [
            682,
            730
          ],
          [
            670,
            745
          ],
          [
            640,
            750
          ],
          [
            620,
            740
          ],
          [
            612,
            690
          ],
          [
            612,
            650
          ]
        ],
        "visible": true,
        "confidence": 0.92,
        "shape_hint": "cylinder",
        "visual_description": "正面下部黑色抛食出口，椭圆形开口，可见内部机械结构，正有一颗零食颗粒从开口飞出"
      },
      {
        "target_id": "recognition-04",
        "role": "visible_part",
        "bbox": [
          625,
          440,
          675,
          530
        ],
        "polygon": [
          [
            630,
            445
          ],
          [
            660,
            440
          ],
          [
            670,
            450
          ],
          [
            675,
            485
          ],
          [
            672,
            515
          ],
          [
            665,
            525
          ],
          [
            645,
            530
          ],
          [
            630,
            520
          ],
          [
            625,
            485
          ],
          [
            628,
            455
          ]
        ],
        "visible": true,
        "confidence": 0.88,
        "shape_hint": "cylinder",
        "visual_description": "正面中部圆形扬声器格栅区域，细密孔洞排列，集成麦克风功能，用于双向语音交互"
      },
      {
        "target_id": "recognition-05",
        "role": "mount",
        "bbox": [
          585,
          780,
          845,
          925
        ],
        "polygon": [
          [
            590,
            790
          ],
          [
            650,
            780
          ],
          [
            750,
            775
          ],
          [
            820,
            785
          ],
          [
            840,
            800
          ],
          [
            845,
            850
          ],
          [
            840,
            900
          ],
          [
            830,
            915
          ],
          [
            780,
            925
          ],
          [
            700,
            928
          ],
          [
            630,
            920
          ],
          [
            595,
            905
          ],
          [
            585,
            850
          ]
        ],
        "visible": true,
        "confidence": 0.9,
        "shape_hint": "cylinder",
        "visual_description": "底部扩宽式防滑底座，白色塑料材质，与主体圆滑过渡，提供稳定支撑和防倾倒功能"
      },
      {
        "target_id": "product-silhouette",
        "role": "product_shell",
        "visible": true,
        "bbox": [
          585,
          125,
          845,
          928
        ],
        "polygon": [
          [
            600,
            130
          ],
          [
            700,
            125
          ],
          [
            780,
            130
          ],
          [
            820,
            145
          ],
          [
            835,
            180
          ],
          [
            840,
            250
          ],
          [
            838,
            400
          ],
          [
            835,
            500
          ],
          [
            840,
            600
          ],
          [
            842,
            750
          ],
          [
            845,
            850
          ],
          [
            840,
            900
          ],
          [
            830,
            915
          ],
          [
            780,
            925
          ],
          [
            700,
            928
          ],
          [
            630,
            920
          ]
        ],
        "confidence": 0.9,
        "shape_hint": "mesh_required",
        "visual_description": "整体白色立式柱形机身，顶部收窄圆弧过渡，底部外扩底座，正面集成相机、扬声器、抛食口，侧面透明料仓"
      }
    ],
    "product_silhouette": {
      "bbox": [
        585,
        125,
        845,
        928
      ],
      "polygon": [
        [
          600,
          130
        ],
        [
          700,
          125
        ],
        [
          780,
          130
        ],
        [
          820,
          145
        ],
        [
          835,
          180
        ],
        [
          840,
          250
        ],
        [
          838,
          400
        ],
        [
          835,
          500
        ],
        [
          840,
          600
        ],
        [
          842,
          750
        ],
        [
          845,
          850
        ],
        [
          840,
          900
        ],
        [
          830,
          915
        ],
        [
          780,
          925
        ],
        [
          700,
          928
        ],
        [
          630,
          920
        ]
      ],
      "description": "整体白色立式柱形机身，顶部收窄圆弧过渡，底部外扩底座，正面集成相机、扬声器、抛食口，侧面透明料仓"
    },
    "mounting_points": [
      {
        "label": "底座接触面",
        "point": [
          710,
          920
        ],
        "host_target_id": "host-context",
        "product_target_id": "recognition-05",
        "confidence": 0.85
      }
    ],
    "connections": [
      {
        "from_target_id": "recognition-01",
        "to_target_id": "recognition-04",
        "type": "routes_to",
        "description": "相机视频信号与扬声器音频系统内部连接"
      },
      {
        "from_target_id": "recognition-02",
        "to_target_id": "recognition-03",
        "type": "routes_to",
        "description": "料仓零食通过内部通道输送至抛食转盘出口"
      },
      {
        "from_target_id": "recognition-04",
        "to_target_id": "recognition-01",
        "type": "routes_to",
        "description": "扬声器麦克风与相机协同工作实现双向交互"
      }
    ],
    "camera": {
      "view": "side_right",
      "yaw_deg": -15,
      "pitch_deg": -5,
      "roll_deg": 0,
      "fov_deg": 50,
      "framing_bbox": [
        0,
        0,
        1000,
        1000
      ]
    },
    "geometry_plan": {
      "strategy": "parameterized",
      "rationale": "重建失败案例的产品轮廓、真实宿主关系和可见关键功能件；隐藏结构与毫米尺寸保持待验证。",
      "bindings": [
        {
          "target_id": "host-context",
          "asset_mode": "parameterized",
          "depth_order": 0,
          "orientation": "assembly_specific",
          "confidence": 0.78
        },
        {
          "target_id": "recognition-01",
          "asset_mode": "parameterized",
          "depth_order": 1,
          "orientation": "assembly_specific",
          "confidence": 0.78
        },
        {
          "target_id": "recognition-02",
          "asset_mode": "parameterized",
          "depth_order": 2,
          "orientation": "assembly_specific",
          "confidence": 0.78
        },
        {
          "target_id": "recognition-03",
          "asset_mode": "parameterized",
          "depth_order": 3,
          "orientation": "assembly_specific",
          "confidence": 0.78
        },
        {
          "target_id": "recognition-04",
          "asset_mode": "parameterized",
          "depth_order": 4,
          "orientation": "assembly_specific",
          "confidence": 0.78
        },
        {
          "target_id": "recognition-05",
          "asset_mode": "parameterized",
          "depth_order": 5,
          "orientation": "assembly_specific",
          "confidence": 0.78
        },
        {
          "target_id": "product-silhouette",
          "asset_mode": "parameterized",
          "depth_order": 6,
          "orientation": "assembly_specific",
          "confidence": 0.78
        }
      ]
    },
    "uncertainties": [
      "抛食转盘内部机械结构不可见",
      "底座具体防滑纹理细节被遮挡",
      "料仓与主体连接结构为推测"
    ],
    "provenance": {
      "mode": "kimi_vlm",
      "provider": "kimi",
      "model": "kimi-k2.6",
      "operation": "photo-reconstruction.annotate",
      "prompt_template_version": "photo-reconstruction-v1",
      "calls": [
        {
          "provider": "kimi",
          "model_version": "kimi-k2.6",
          "operation": "photo-reconstruction.annotate",
          "prompt_template_version": "photo-reconstruction-v1",
          "request_hash": "ed38303f3a375115fa698c6c0a90098798481aff7b0562fd9441bd7c8c3c4f73",
          "latency_ms": 50163,
          "status": "completed",
          "prompt_tokens": 1445,
          "completion_tokens": 1607,
          "total_tokens": 3052,
          "cached_tokens": 181,
          "error_code": "",
          "error_message": "",
          "fallback_used": false
        }
      ]
    },
    "truth_boundary": {
      "zh": "照片校准层用于验证轮廓、宿主、安装和可见零件；工程零件尺寸、间隙及制造结论仍由原结构层和正式图纸控制。",
      "en": "The photo-calibrated layer checks silhouette, host, installation and visible parts; engineering dimensions, clearances and manufacturing conclusions remain controlled by the engineering layer and released drawings."
    },
    "geometry_proxy_parts": [
      {
        "id": "photo-proxy-host-counter",
        "source_target_id": "host-context",
        "source_part_ids": [
          "host-counter"
        ],
        "label": "家庭桌面尺度参考",
        "group": "host",
        "type": "box",
        "dimensions": {
          "width": 520,
          "depth": 410,
          "height": 10
        },
        "position": [
          0,
          -130,
          5
        ],
        "rotation_deg": [
          0,
          0,
          0
        ],
        "material": "家庭桌面",
        "source_status": "pending_verification",
        "source_reference": "creative-046 concept-image interpretation rebuilt for silhouette and use-context recognition; all millimetre values, hidden geometry, materials, fasteners and manufacturing feasibility remain design proposals pending physical and engineering review",
        "bbox": [],
        "polygon": [],
        "confidence": 0.85,
        "asset_requirement": "parameterized_concept_geometry",
        "camera_fit": false,
        "appearance": {
          "color": "#756d63",
          "opacity": 0.18,
          "roughness": 0.5,
          "metalness": 0.05
        },
        "color": "#756d63"
      },
      {
        "id": "photo-proxy-codex-body",
        "source_target_id": "product-silhouette",
        "source_part_ids": [
          "codex-body"
        ],
        "label": "零食摄像机主机",
        "group": "shell",
        "type": "rounded_box",
        "dimensions": {
          "width": 150,
          "depth": 126,
          "height": 178,
          "corner_radius": 18
        },
        "position": [
          0,
          -27,
          0
        ],
        "rotation_deg": [
          0,
          0,
          0
        ],
        "material": "哑光 ABS",
        "source_status": "design_proposed",
        "source_reference": "creative-046 concept-image interpretation rebuilt for silhouette and use-context recognition; all millimetre values, hidden geometry, materials, fasteners and manufacturing feasibility remain design proposals pending physical and engineering review",
        "bbox": [
          585,
          125,
          845,
          928
        ],
        "polygon": [
          [
            600,
            130
          ],
          [
            700,
            125
          ],
          [
            780,
            130
          ],
          [
            820,
            145
          ],
          [
            835,
            180
          ],
          [
            840,
            250
          ],
          [
            838,
            400
          ],
          [
            835,
            500
          ],
          [
            840,
            600
          ],
          [
            842,
            750
          ],
          [
            845,
            850
          ],
          [
            840,
            900
          ],
          [
            830,
            915
          ],
          [
            780,
            925
          ],
          [
            700,
            928
          ],
          [
            630,
            920
          ]
        ],
        "confidence": 0.85,
        "asset_requirement": "parameterized_concept_geometry",
        "camera_fit": true,
        "appearance": {
          "color": "#f0eee8",
          "opacity": 1.0,
          "roughness": 0.68,
          "metalness": 0.05
        },
        "color": "#f0eee8"
      },
      {
        "id": "photo-proxy-treat-hopper",
        "source_target_id": "recognition-02",
        "source_part_ids": [
          "treat-hopper"
        ],
        "label": "零食料仓",
        "group": "shell",
        "type": "tapered_cylinder",
        "dimensions": {
          "top_diameter": 128,
          "bottom_diameter": 104,
          "length": 116
        },
        "position": [
          0,
          98,
          -5
        ],
        "rotation_deg": [
          0,
          0,
          0
        ],
        "material": "半透明食品级料仓",
        "source_status": "design_proposed",
        "source_reference": "creative-046 concept-image interpretation rebuilt for silhouette and use-context recognition; all millimetre values, hidden geometry, materials, fasteners and manufacturing feasibility remain design proposals pending physical and engineering review",
        "bbox": [
          785,
          510,
          830,
          770
        ],
        "polygon": [
          [
            790,
            515
          ],
          [
            820,
            510
          ],
          [
            828,
            550
          ],
          [
            830,
            650
          ],
          [
            828,
            720
          ],
          [
            825,
            760
          ],
          [
            815,
            770
          ],
          [
            795,
            765
          ],
          [
            788,
            720
          ],
          [
            785,
            650
          ],
          [
            787,
            550
          ]
        ],
        "confidence": 0.85,
        "asset_requirement": "parameterized_concept_geometry",
        "camera_fit": true,
        "appearance": {
          "color": "#d9ece5",
          "opacity": 0.46,
          "roughness": 0.22,
          "metalness": 0.05
        },
        "color": "#d9ece5"
      },
      {
        "id": "photo-proxy-wide-camera",
        "source_target_id": "recognition-01",
        "source_part_ids": [
          "wide-camera"
        ],
        "label": "广角相机",
        "group": "sensor",
        "type": "lens",
        "dimensions": {
          "diameter": 38,
          "length": 12
        },
        "position": [
          -27,
          31,
          68
        ],
        "rotation_deg": [
          90,
          0,
          0
        ],
        "material": "玻璃镜片与黑色镜筒",
        "source_status": "design_proposed",
        "source_reference": "creative-046 concept-image interpretation rebuilt for silhouette and use-context recognition; all millimetre values, hidden geometry, materials, fasteners and manufacturing feasibility remain design proposals pending physical and engineering review",
        "bbox": [
          623,
          200,
          697,
          375
        ],
        "polygon": [
          [
            625,
            205
          ],
          [
            660,
            200
          ],
          [
            690,
            210
          ],
          [
            697,
            260
          ],
          [
            695,
            330
          ],
          [
            685,
            365
          ],
          [
            660,
            375
          ],
          [
            635,
            365
          ],
          [
            625,
            330
          ],
          [
            623,
            260
          ]
        ],
        "confidence": 0.85,
        "asset_requirement": "parameterized_concept_geometry",
        "camera_fit": true,
        "appearance": {
          "color": "#17242a",
          "opacity": 1.0,
          "roughness": 0.16,
          "metalness": 0.05
        },
        "color": "#17242a"
      },
      {
        "id": "photo-proxy-speaker-mic-panel",
        "source_target_id": "recognition-04",
        "source_part_ids": [
          "speaker-mic-panel"
        ],
        "label": "麦克风扬声器",
        "group": "interface",
        "type": "rounded_box",
        "dimensions": {
          "width": 45,
          "depth": 6,
          "height": 36,
          "corner_radius": 7
        },
        "position": [
          34,
          23,
          66
        ],
        "rotation_deg": [
          0,
          0,
          0
        ],
        "material": "声学网罩",
        "source_status": "design_proposed",
        "source_reference": "creative-046 concept-image interpretation rebuilt for silhouette and use-context recognition; all millimetre values, hidden geometry, materials, fasteners and manufacturing feasibility remain design proposals pending physical and engineering review",
        "bbox": [
          625,
          440,
          675,
          530
        ],
        "polygon": [
          [
            630,
            445
          ],
          [
            660,
            440
          ],
          [
            670,
            450
          ],
          [
            675,
            485
          ],
          [
            672,
            515
          ],
          [
            665,
            525
          ],
          [
            645,
            530
          ],
          [
            630,
            520
          ],
          [
            625,
            485
          ],
          [
            628,
            455
          ]
        ],
        "confidence": 0.85,
        "asset_requirement": "parameterized_concept_geometry",
        "camera_fit": true,
        "appearance": {
          "color": "#566568",
          "opacity": 1.0,
          "roughness": 0.72,
          "metalness": 0.05
        },
        "color": "#566568"
      },
      {
        "id": "photo-proxy-throw-disc",
        "source_target_id": "recognition-03",
        "source_part_ids": [
          "throw-disc"
        ],
        "label": "抛食转盘",
        "group": "interface",
        "type": "cylinder",
        "dimensions": {
          "diameter": 58,
          "length": 12
        },
        "position": [
          0,
          -91,
          73
        ],
        "rotation_deg": [
          0,
          0,
          0
        ],
        "material": "食品级 PP 转盘",
        "source_status": "design_proposed",
        "source_reference": "creative-046 concept-image interpretation rebuilt for silhouette and use-context recognition; all millimetre values, hidden geometry, materials, fasteners and manufacturing feasibility remain design proposals pending physical and engineering review",
        "bbox": [
          612,
          615,
          685,
          750
        ],
        "polygon": [
          [
            615,
            620
          ],
          [
            660,
            615
          ],
          [
            680,
            625
          ],
          [
            685,
            680
          ],
          [
            682,
            730
          ],
          [
            670,
            745
          ],
          [
            640,
            750
          ],
          [
            620,
            740
          ],
          [
            612,
            690
          ],
          [
            612,
            650
          ]
        ],
        "confidence": 0.85,
        "asset_requirement": "parameterized_concept_geometry",
        "camera_fit": true,
        "appearance": {
          "color": "#e8a44f",
          "opacity": 1.0,
          "roughness": 0.5,
          "metalness": 0.05
        },
        "color": "#e8a44f"
      },
      {
        "id": "photo-proxy-anti-slip-base",
        "source_target_id": "recognition-05",
        "source_part_ids": [
          "anti-slip-base"
        ],
        "label": "防滑底座",
        "group": "bracket",
        "type": "rounded_box",
        "dimensions": {
          "width": 162,
          "depth": 142,
          "height": 16,
          "corner_radius": 8
        },
        "position": [
          0,
          -123,
          0
        ],
        "rotation_deg": [
          0,
          0,
          0
        ],
        "material": "TPE 防滑底座",
        "source_status": "design_proposed",
        "source_reference": "creative-046 concept-image interpretation rebuilt for silhouette and use-context recognition; all millimetre values, hidden geometry, materials, fasteners and manufacturing feasibility remain design proposals pending physical and engineering review",
        "bbox": [
          585,
          780,
          845,
          925
        ],
        "polygon": [
          [
            590,
            790
          ],
          [
            650,
            780
          ],
          [
            750,
            775
          ],
          [
            820,
            785
          ],
          [
            840,
            800
          ],
          [
            845,
            850
          ],
          [
            840,
            900
          ],
          [
            830,
            915
          ],
          [
            780,
            925
          ],
          [
            700,
            928
          ],
          [
            630,
            920
          ],
          [
            595,
            905
          ],
          [
            585,
            850
          ]
        ],
        "confidence": 0.85,
        "asset_requirement": "parameterized_concept_geometry",
        "camera_fit": true,
        "appearance": {
          "color": "#354144",
          "opacity": 1.0,
          "roughness": 0.92,
          "metalness": 0.05
        },
        "color": "#354144"
      }
    ],
    "engineering_geometry_revision": "codex-geometry-c6",
    "geometry_fingerprint": "sha256:90a310c24249ff5a516c2b1ede664840a0568dde3cfc19c8151e88bdbc8fd308",
    "visual_review": {
      "status": "pending_review",
      "score": null,
      "geometry_fingerprint": "sha256:90a310c24249ff5a516c2b1ede664840a0568dde3cfc19c8151e88bdbc8fd308",
      "updated_at": "2026-09-19",
      "reason": "Geometry changed during deterministic structure-quality remediation and requires fresh visual review."
    }
  },
  "presentation": {
    "default_view": "iso",
    "iso_view_deg": [
      38,
      25
    ],
    "dimensions_visible_by_default": false,
    "hidden_groups_by_default": [
      "fov"
    ],
    "shell_opacity": 0.88,
    "photo_mode_available": true
  },
  "codex_geometry_refinement": {
    "schema_version": "codex-geometry-refinement/v1",
    "mode": "codex_agent_closed_loop",
    "source_photo_revision": "photo-v1",
    "iteration": 4,
    "status": "render_pending_visual_review",
    "scope": [
      "photo-specific-form",
      "host-and-installation",
      "key-parts",
      "internal-assembly",
      "work-path"
    ],
    "pipeline": [
      "generate_code",
      "render_screenshot",
      "visual_review",
      "patch_code"
    ],
    "truth_boundary": {
      "zh": "结构由单张 AI 概念图反向生成；可见比例受照片约束，隐藏结构和工程尺寸仍需图纸或实物确认。",
      "en": "Geometry is generated from one AI concept image. Visible proportions are image-constrained; hidden construction and engineering dimensions still require drawings or physical verification."
    },
    "quality_status": "reworked_pending_blind_visual_review"
  },
  "photo_derived_structure": {
    "schema_version": "creative-photo-derived-structure/v1",
    "product_id": "creative-046",
    "case_id": 46,
    "photo_revision": "photo-v1",
    "generated_at": "2026-09-03",
    "photo": {
      "url": "/hardware-structure/photos/creative-046-photo-v1.jpg",
      "width_px": 960,
      "height_px": 600,
      "sha256": "21fa630d5f49ced0971984607d8972b172f8b6d55bdc4569a47d9bac8385aec2",
      "coordinate_system": "normalized image space 0..1000; origin top-left"
    },
    "product": {
      "bbox": [
        585,
        125,
        845,
        928
      ],
      "polygon": [
        [
          600,
          130
        ],
        [
          700,
          125
        ],
        [
          780,
          130
        ],
        [
          820,
          145
        ],
        [
          835,
          180
        ],
        [
          840,
          250
        ],
        [
          838,
          400
        ],
        [
          835,
          500
        ],
        [
          840,
          600
        ],
        [
          842,
          750
        ],
        [
          845,
          850
        ],
        [
          840,
          900
        ],
        [
          830,
          915
        ],
        [
          780,
          925
        ],
        [
          700,
          928
        ],
        [
          630,
          920
        ]
      ],
      "estimated_dimensions_mm": {
        "width": 127.11864406779664,
        "depth": 93.6,
        "height": 210.0
      },
      "dimension_basis": "动物/饲养环境基准; front review plane preserves the concept-photo silhouette ratio while the original engineering envelope remains unchanged",
      "form_summary": "整体白色立式柱形机身，顶部收窄圆弧过渡，底部外扩底座，正面集成相机、扬声器、抛食口，侧面透明料仓"
    },
    "components": [
      {
        "id": "host-context",
        "label_zh": "动物/饲养环境基准",
        "label_en": "动物/饲养环境基准",
        "role": "host",
        "bbox": [
          0,
          0,
          999,
          999
        ],
        "polygon": [
          [
            0,
            0
          ],
          [
            999,
            0
          ],
          [
            999,
            999
          ],
          [
            0,
            999
          ]
        ],
        "confidence": 0.95,
        "material_guess": "室内居家环境，浅色地毯地面，包含沙发、绿植、木质边柜等家具，为产品提供安装基准和尺度参考"
      },
      {
        "id": "recognition-01",
        "label_zh": "广角相机",
        "label_en": "广角相机",
        "role": "visible_part",
        "bbox": [
          623,
          200,
          697,
          375
        ],
        "polygon": [
          [
            625,
            205
          ],
          [
            660,
            200
          ],
          [
            690,
            210
          ],
          [
            697,
            260
          ],
          [
            695,
            330
          ],
          [
            685,
            365
          ],
          [
            660,
            375
          ],
          [
            635,
            365
          ],
          [
            625,
            330
          ],
          [
            623,
            260
          ]
        ],
        "confidence": 0.98,
        "material_guess": "顶部黑色球面广角相机模组，镜头居中，带有绿色状态指示灯，嵌入白色外壳的圆形凹槽内"
      },
      {
        "id": "recognition-02",
        "label_zh": "零食料仓",
        "label_en": "零食料仓",
        "role": "product_shell",
        "bbox": [
          785,
          510,
          830,
          770
        ],
        "polygon": [
          [
            790,
            515
          ],
          [
            820,
            510
          ],
          [
            828,
            550
          ],
          [
            830,
            650
          ],
          [
            828,
            720
          ],
          [
            825,
            760
          ],
          [
            815,
            770
          ],
          [
            795,
            765
          ],
          [
            788,
            720
          ],
          [
            785,
            650
          ],
          [
            787,
            550
          ]
        ],
        "confidence": 0.95,
        "material_guess": "右侧透明/半透明弧形零食料仓窗口，可见内部棕色颗粒状零食，纵向长条形设计"
      },
      {
        "id": "recognition-03",
        "label_zh": "抛食转盘",
        "label_en": "抛食转盘",
        "role": "visible_part",
        "bbox": [
          612,
          615,
          685,
          750
        ],
        "polygon": [
          [
            615,
            620
          ],
          [
            660,
            615
          ],
          [
            680,
            625
          ],
          [
            685,
            680
          ],
          [
            682,
            730
          ],
          [
            670,
            745
          ],
          [
            640,
            750
          ],
          [
            620,
            740
          ],
          [
            612,
            690
          ],
          [
            612,
            650
          ]
        ],
        "confidence": 0.92,
        "material_guess": "正面下部黑色抛食出口，椭圆形开口，可见内部机械结构，正有一颗零食颗粒从开口飞出"
      },
      {
        "id": "recognition-04",
        "label_zh": "麦克风扬声器",
        "label_en": "麦克风扬声器",
        "role": "visible_part",
        "bbox": [
          625,
          440,
          675,
          530
        ],
        "polygon": [
          [
            630,
            445
          ],
          [
            660,
            440
          ],
          [
            670,
            450
          ],
          [
            675,
            485
          ],
          [
            672,
            515
          ],
          [
            665,
            525
          ],
          [
            645,
            530
          ],
          [
            630,
            520
          ],
          [
            625,
            485
          ],
          [
            628,
            455
          ]
        ],
        "confidence": 0.88,
        "material_guess": "正面中部圆形扬声器格栅区域，细密孔洞排列，集成麦克风功能，用于双向语音交互"
      },
      {
        "id": "recognition-05",
        "label_zh": "防滑底座",
        "label_en": "防滑底座",
        "role": "mount",
        "bbox": [
          585,
          780,
          845,
          925
        ],
        "polygon": [
          [
            590,
            790
          ],
          [
            650,
            780
          ],
          [
            750,
            775
          ],
          [
            820,
            785
          ],
          [
            840,
            800
          ],
          [
            845,
            850
          ],
          [
            840,
            900
          ],
          [
            830,
            915
          ],
          [
            780,
            925
          ],
          [
            700,
            928
          ],
          [
            630,
            920
          ],
          [
            595,
            905
          ],
          [
            585,
            850
          ]
        ],
        "confidence": 0.9,
        "material_guess": "底部扩宽式防滑底座，白色塑料材质，与主体圆滑过渡，提供稳定支撑和防倾倒功能"
      },
      {
        "id": "product-silhouette",
        "label_zh": "产品主体整体轮廓",
        "label_en": "产品主体整体轮廓",
        "role": "product_shell",
        "bbox": [
          585,
          125,
          845,
          928
        ],
        "polygon": [
          [
            600,
            130
          ],
          [
            700,
            125
          ],
          [
            780,
            130
          ],
          [
            820,
            145
          ],
          [
            835,
            180
          ],
          [
            840,
            250
          ],
          [
            838,
            400
          ],
          [
            835,
            500
          ],
          [
            840,
            600
          ],
          [
            842,
            750
          ],
          [
            845,
            850
          ],
          [
            840,
            900
          ],
          [
            830,
            915
          ],
          [
            780,
            925
          ],
          [
            700,
            928
          ],
          [
            630,
            920
          ]
        ],
        "confidence": 0.9,
        "material_guess": "整体白色立式柱形机身，顶部收窄圆弧过渡，底部外扩底座，正面集成相机、扬声器、抛食口，侧面透明料仓"
      }
    ],
    "relations": [
      {
        "from_target_id": "recognition-01",
        "to_target_id": "recognition-04",
        "type": "routes_to",
        "description": "相机视频信号与扬声器音频系统内部连接"
      },
      {
        "from_target_id": "recognition-02",
        "to_target_id": "recognition-03",
        "type": "routes_to",
        "description": "料仓零食通过内部通道输送至抛食转盘出口"
      },
      {
        "from_target_id": "recognition-04",
        "to_target_id": "recognition-01",
        "type": "routes_to",
        "description": "扬声器麦克风与相机协同工作实现双向交互"
      }
    ],
    "camera": {
      "view": "side_right",
      "yaw_deg": -15,
      "pitch_deg": -5,
      "roll_deg": 0,
      "fov_deg": 50,
      "framing_bbox": [
        0,
        0,
        1000,
        1000
      ]
    },
    "uncertainties": [
      "抛食转盘内部机械结构不可见",
      "底座具体防滑纹理细节被遮挡",
      "料仓与主体连接结构为推测"
    ],
    "provenance": {
      "mode": "codex_agent_closed_loop",
      "operation": "concept-photo-to-parametric-geometry",
      "iteration": 4
    }
  }
}
