{
  "schema_version": "1.0",
  "artifact_set": "blender-mcp-garden-studio-proof",
  "generated_at_utc": "2026-09-21T18:05:33Z",
  "public_scope": {
    "synthetic_scene": true,
    "contains_customer_data": false,
    "contains_account_data": false,
    "contains_prompts": false,
    "contains_local_paths": false
  },
  "software": {
    "blender": {
      "version": "5.2.2 LTS",
      "build_hash": "d13f752e3b9c",
      "official_arm64_dmg_sha256": "sha256:dc4125399b8bfefe283cc1624d6cfc7809d1cac20ace51072127eb371f31f210"
    },
    "mcp_for_blender": {
      "distribution_version": "2.0.3",
      "pypi_wheel_sha256": "sha256:0dd6a82f687aa65ccd2b9c1de164c29a8e5852c31a39d1cf53394ea216ef5ba6",
      "pypi_sdist_sha256": "sha256:f92b9c7d1f544baec4af02e668a43a1f0cae04c289535c7f6f00ca38db2689b8",
      "addon_version": "1.7",
      "addon_protocol_version": 9
    },
    "mcp": {
      "protocol_version": "2025-11-25",
      "sdk_version": "1.30.0",
      "tool_count_observed": 32
    },
    "encoders": {
      "webp": "cwebp 1.6.0",
      "video": "ffmpeg 8.1 / libx264"
    }
  },
  "execution_controls": {
    "mcp_safe_mode": true,
    "telemetry_disabled": true,
    "external_asset_integrations_enabled": false,
    "blender_factory_startup": true,
    "isolated_minimal_environment": true
  },
  "mcp_tool_calls": [
    "execute_blender_code:smoke",
    "execute_blender_code:build_wrong_and_render",
    "execute_blender_code:inspect_wrong",
    "execute_blender_code:correct_roof_and_render",
    "execute_blender_code:inspect_corrected",
    "execute_blender_code:render_final_stills",
    "execute_blender_code:rerender_proof_stills",
    "execute_blender_code:render_turntable_frames"
  ],
  "scene_evidence": {
    "wall_footprint_m": [6.0, 4.0],
    "r00": {
      "revision": "R00",
      "state": "incorrect",
      "roof_dimensions_m": [6.0, 4.0, 0.18],
      "overhang_per_side_m": [0.0, 0.0],
      "baked_render_label": "CHECK 01 / ZERO OVERHANG",
      "scene_object_count": 81
    },
    "r01": {
      "revision": "R01",
      "state": "corrected",
      "roof_dimensions_m": [6.2, 4.2, 0.18],
      "change_by_axis_m": [0.2, 0.2],
      "overhang_per_side_m": [0.1, 0.1],
      "baked_render_label": "REVISION 01 / 100 mm OVERHANG PER SIDE",
      "scene_object_count": 83,
      "render_only_cameras_added_since_r00": ["Exploded Camera", "Detail Camera"]
    },
    "collection_count": 8,
    "design_objects_excluding_roof": 64,
    "unchanged_design_signature_sha256": "sha256:f1af8b07801958ed8083fae1c29426a81b1cd341dd823fcaa69653e748ac73af",
    "signature_scope": "All non-evidence, non-camera, non-light design objects except ROOF_EVIDENCE; name, type, collections, location, dimensions, and materials. The R00 and R01 signatures matched."
  },
  "artifacts": [
    {
      "file": "hero-blender-mcp-architecture.webp",
      "role": "article and listing hero; communication evidence only",
      "dimensions_px": [1200, 630],
      "bytes": 41410,
      "sha256": "sha256:2ec42a23052ad541d0f599791eb117740e2ec0cc83099134c803005676d4e494"
    },
    {
      "file": "process-01-before-roof-check.webp",
      "role": "R00 dimensional proof still; baked label CHECK 01",
      "dimensions_px": [1600, 1000],
      "bytes": 29680,
      "sha256": "sha256:a75265ea3bd03a97ccd79a7d8b5f48aef5ae24a8336a81b790cecdf5ac9fe28a"
    },
    {
      "file": "process-02-after-roof-correction.webp",
      "role": "R01 dimensional proof still; baked label REVISION 01",
      "dimensions_px": [1600, 1000],
      "bytes": 32790,
      "sha256": "sha256:79ec6791acf043842e51ab76762b05bd2a8019c5130de3f8f770dc022f6d1918"
    },
    {
      "file": "process-03-final-axon.webp",
      "role": "final exterior communication still",
      "dimensions_px": [1600, 1000],
      "bytes": 65944,
      "sha256": "sha256:826427c8142f608aacf692b09ec3ce4cc15a48febb7ebb710c7b9697d4ee831c"
    },
    {
      "file": "process-04-exploded-roof.webp",
      "role": "roof and interior communication still",
      "dimensions_px": [1600, 1000],
      "bytes": 74808,
      "sha256": "sha256:ec765c86eb84e18cce38f0ce9006c28f98a082c9c1392b13044f599ee9674530"
    },
    {
      "file": "process-05-glazing-and-structure.webp",
      "role": "glazing and structure detail still",
      "dimensions_px": [1600, 1000],
      "bytes": 139290,
      "sha256": "sha256:ea319074c3d15f9982f45d403d3d81f099f67e7b9a9b50c63b8c7cbffbc3e94f"
    },
    {
      "file": "garden-studio-turntable-poster.webp",
      "role": "poster from MCP-rendered turntable frame 42",
      "dimensions_px": [1280, 720],
      "bytes": 54822,
      "sha256": "sha256:1dc38c54ca6e30895c59304c81db880d723f4fcb31eb672f65c57919475b8971"
    },
    {
      "file": "garden-studio-turntable.mp4",
      "role": "communication video derived from MCP-rendered PNG frames; not dimensional proof",
      "dimensions_px": [1280, 720],
      "duration_seconds": 2.0,
      "frame_rate": 24,
      "frame_count": 48,
      "codec": "H.264 High / yuv420p",
      "audio": false,
      "bytes": 752854,
      "sha256": "sha256:a29d441bf8e63c6166d72fdb18f6689cd292eb35de7a208d7898af27bd009c4d"
    },
    {
      "file": "blender-mcp-architecture-receipt.webp",
      "role": "public communication receipt summarizing the bounded acceptance check",
      "dimensions_px": [1600, 1000],
      "bytes": 86158,
      "sha256": "sha256:7585116a8c4586b9389cdc632b4a380e814e8fa066e00cfa559730d62c1a2e29"
    },
    {
      "file": "blender-mcp-architecture-social.jpg",
      "role": "Open Graph and social share image; communication evidence only",
      "dimensions_px": [1200, 630],
      "bytes": 122952,
      "sha256": "sha256:3d18f2a595ee612760335753c9fd1243954c0d35b86367f523b1ce9f3d1a042a"
    },
    {
      "file": "blender-mcp-architecture-acceptance.csv",
      "role": "product-neutral machine-readable acceptance table",
      "bytes": 1656,
      "sha256": "sha256:dc5a705574cf8d06f7108ddf98f13e684809b45b1809400709c23fc494a45d9d"
    }
  ],
  "excluded_from_public_scope": [
    "raw Blender files and backups",
    "source PNG frames",
    "temporary scripts and profiles",
    "package archives and installers",
    "MCP logs and code payloads"
  ],
  "limitations": [
    "This is a synthetic workflow demonstration, not a customer case study, measured building, planning submission, or construction document.",
    "The dimensions are Blender object dimensions verified in R00 and R01. They were not validated against a survey, structural model, or CAD/BIM authority.",
    "The dimensional evidence is the paired R00/R01 proof stills and the MCP inspection receipts. Hero, detail, exploded, poster, and turntable assets are communication evidence only.",
    "Safe mode validates code sent through the MCP tool path; it is not a sandbox around Blender or the add-on's local socket.",
    "The official Blender 5.2.2 ARM build used here did not expose FFMPEG as a render format. The MP4 was encoded locally from 48 MCP-rendered PNG frames without identifying or custom metadata; generic codec and container tags remain.",
    "The MCP handshake reports its SDK version as 1.30.0. The mcp-for-blender distribution identity was verified separately against the PyPI 2.0.3 hashes above.",
    "This run does not prove a Social Neuron publishing, distribution, signup, activation, or revenue outcome."
  ]
}
