{
  "schema_version": 1,
  "run_id": "run-20261015-rainbow-budgie-v11",
  "title": "細い身体に、長さを保って曲がる羽",
  "species": "レインボー・セキセイインコ（試作）",
  "model_id": "rainbow-budgie-inextensible-fullbody-v11",
  "action_id": "upright-preen-body-follow",
  "animation_id": "Animation",
  "category": "羽づくろい",
  "created_at": "2026-10-15T09:04:33.912711+00:00",
  "created_at_precision": "exact",
  "parent_run_id": "run-20261015-rainbow-budgie-v6",
  "source_commit": "3515593c6f243799579b4e4876ee10065330bcfa",
  "source_hashes": {
    "output/revisions/rainbow-budgie-v6/model.blend": "1dd1952e807f5a519b881266dd9face740e452eef974117e69368247b9f2ca46",
    "scripts/research/adapters/rainbow_budgie_v11.py": "80a26a889167d4c3f72e69e1d6d5f9e2b5fd0afc253bd1dac0da247764a21b84",
    "scripts/research/verify_character_revision.py": "613f62d0d1769ef0f86527c50f36610f56ca9c8c56177136c5ec3d6e2af3a9e1",
    "scripts/research/package_character_revision.py": "d5a954319dd64247a1e78d021928183c3f4eda18345f2b6cabf542d544b74ea9",
    "config/research/revisions/rainbow-budgie-v11.json": "12153f58fae8d3b2fc17210752fa9c829928ae7040f7a40dfe68cabf6226257b",
    "scripts/research/fullbody_plumage_guides.py": "680976674394947d8dea25378535197c0081c7a50e8cd49322a73b8a2c0cd85e",
    "scripts/research/inextensible_feathers.py": "0529db00856e0034a7592af0183d19d96fa5f1fd56a5e2e6763215cacb69bb2a",
    "config/research/plumage/rainbow-budgerigar-fixed-length-fullbody.json": "f6531d0ac9900ec051997638ef7e99eaa93719d4794e6e3880f4df01b31c5cb9",
    "scripts/research/verify_inextensible_plumage.py": "f32725b0b8d8ca7c2ebf80ea4ddc37728a3b941d1ca750bf3fa20759a58b6bfe",
    "reports/budgerigar-feather-anatomy.md": "e1abd0b7f6c0e5c1cbb5610ee7f5f4ff1ae742dc7b8dc7897bdcffca00690765",
    "scripts/research/render_fullbody_diagnostics.py": "536f3185773835ce9150061ab665f87cea056ca62b4d02212f770521a2426d28",
    "scripts/research/render_character_stills.py": "f73fdb684198cd5ca6269e76f35c3e258646a51dd9f5314577eea754003fd4ee",
    "reports/revisions/rainbow-budgie-v11.md": "4faed1479030ffa9fba80f58c124fe7c0f870d82b18bc55d1a970fd782bf32ce",
    "scripts/research/compact_static_gltf.py": "6e5d611b94cb0a5fe453d1f939456d57bcde0f3c3b80050435d046683f862b14",
    "scripts/research/canonicalize_rigid_gltf.py": "7da64e22533e181688b562075f620c39d9402e7d6a7014946014abdb9c04cda6",
    "scripts/research/test_compact_static_gltf.py": "99237ca77523bfa7c57bbc890231a34bb2e8f442b15d857b48f2347d47b9384a",
    "scripts/research/package_fullbody_diagnostics.py": "346a8a09e7be5adb68071c0d8881aed0c575f8ddf648aabb9677058ebac224a3",
    "scripts/research/templates/character-viewer-optin.js": "e97f4ba881e3d1222a8f31c5806b650dd682b0eeb1960552898f9bd9eb370cc5",
    "scripts/research/externalize_gltf.py": "a82081d46c3e1d7c73363f42e7c3031b8e786c7ab25b81439d9c2ed0ceb07b4a"
  },
  "blender_version": "4.3.2",
  "parameter_diff": {
    "body": "Initial narrow-neck carrier fixed before feather generation; canonical coordinate hash recorded, no later inflation",
    "feathers": "560 separate stylized contour groups; four fixed-length segments each, rotation-only bending, unit scale",
    "root_attachment": "Exact evaluated body vertex positions per frame, no guide-weight truncation",
    "regions": "Crown/cheek, throat/nape, chest/back/flanks and lower body; existing folded-wing and tail vanes retained",
    "motion": "Original acquired-derived rig action and planted feet preserved",
    "export": "60fps exact half-frame baking of original timing; only exactly-static tracks removed losslessly;30fps primary videos",
    "body_baseline_sha256": "3ccc709269e6b4e00f7526c99eb4303a2b7c14efb92516befa9ef571b14a2a00",
    "public_transport": "Exact glTF external buffers; every GLB bufferView copied byte-for-byte, no animation/geometry change"
  },
  "quality": "試作・ユーザー確認待ち",
  "adoption": "公開試作",
  "evaluation": {
    "summary": "Fixed internal body and articulated non-stretch contour feathers across the body; existing ordered folded wings and tail retained.",
    "naturalness": "ユーザー確認待ち",
    "unresolved": [
      "No feather collision or sliding simulation",
      "Broad stylized feather groups instead of individual microscopic barbs",
      "Actual mobile WebGL unverified"
    ],
    "metrics": {
      "blender": "4.3.2",
      "source_asset_sha256": "1dd1952e807f5a519b881266dd9face740e452eef974117e69368247b9f2ca46",
      "max_foot_displacement_mm": 0.0,
      "chest_motion_range_mm": 0.9722271892323749,
      "max_glb_surface_error_mm": 0.00473376030640793,
      "roundtrip": [
        {
          "frame": 0.0,
          "max_surface_error_m": 2.4721675799810328e-06
        },
        {
          "frame": 8.0,
          "max_surface_error_m": 3.6112198813498253e-06
        },
        {
          "frame": 8.5,
          "max_surface_error_m": 3.823237875621999e-06
        },
        {
          "frame": 10.0,
          "max_surface_error_m": 4.297726263757795e-06
        },
        {
          "frame": 20.0,
          "max_surface_error_m": 4.725122380477842e-06
        },
        {
          "frame": 28.0,
          "max_surface_error_m": 4.73376030640793e-06
        },
        {
          "frame": 28.5,
          "max_surface_error_m": 4.727932264358969e-06
        },
        {
          "frame": 30.0,
          "max_surface_error_m": 4.7165090109047014e-06
        },
        {
          "frame": 35.0,
          "max_surface_error_m": 4.601191903930157e-06
        },
        {
          "frame": 35.5,
          "max_surface_error_m": 4.531691956799477e-06
        },
        {
          "frame": 40.0,
          "max_surface_error_m": 4.516474291449413e-06
        },
        {
          "frame": 45.0,
          "max_surface_error_m": 4.720444394479273e-06
        },
        {
          "frame": 50.0,
          "max_surface_error_m": 3.934917458536802e-06
        },
        {
          "frame": 50.5,
          "max_surface_error_m": 3.7885631627432304e-06
        },
        {
          "frame": 56.0,
          "max_surface_error_m": 2.52637892117491e-06
        },
        {
          "frame": 60.0,
          "max_surface_error_m": 2.4721675799810328e-06
        },
        {
          "frame": 70.0,
          "max_surface_error_m": 2.4654816570546245e-06
        },
        {
          "frame": 80.0,
          "max_surface_error_m": 2.7698981739376904e-06
        },
        {
          "frame": 90.0,
          "max_surface_error_m": 2.7563926323637133e-06
        },
        {
          "frame": 100.0,
          "max_surface_error_m": 2.556006620579865e-06
        },
        {
          "frame": 110.0,
          "max_surface_error_m": 2.4721675799810328e-06
        },
        {
          "frame": 120.0,
          "max_surface_error_m": 2.4721675799810328e-06
        },
        {
          "frame": 130.0,
          "max_surface_error_m": 2.4721675799810328e-06
        },
        {
          "frame": 140.0,
          "max_surface_error_m": 2.4721675799810328e-06
        }
      ],
      "body_rest_pitch_adjustment_deg": -55,
      "body_follow_peak_deg": 3.0,
      "shaft_length_checks": {
        "source": {
          "min_ratio": 0.9999712585350397,
          "max_ratio": 1.00001884519193,
          "max_absolute_error_m": 4.3561946095910936e-08,
          "peak_frame": 131.0,
          "passed": true
        },
        "export": {
          "min_ratio": 0.999973823154491,
          "max_ratio": 1.0000386456778014,
          "max_absolute_error_m": 6.216806805112163e-08,
          "peak_frame": 75.5,
          "passed": true
        }
      },
      "max_feather_root_distance_mm": 3.2167726260468044e-05,
      "inextensible_checks_passed": true,
      "max_eye_surface_distance_mm": 0.05501996201928705,
      "min_toe_pad_perch_gap_mm": -0.17940049683876252,
      "motion_fcurves_identical_to_parent": true,
      "motion_unchanged_outside_window": null,
      "motion_fcurves_sha256": "20e0de90d14848d0dab294e2e32e00154f235e66e17cee8824cf226504852def",
      "toe_count_per_foot": 4,
      "toe_arrangement": "2 forward + 2 backward",
      "limits": "Perch contact tolerance permits 0.3 mm shallow intersection; this is a visual/support check, not a physical solver."
    }
  },
  "license": {
    "id": "shrike",
    "page_url": "https://opengameart.org/content/bird-yellow-billed-shrike",
    "author": "pistachio",
    "acquired_date_utc": "2026-10-13",
    "license": "CC0 1.0",
    "license_verified": true,
    "license_url": "https://creativecommons.org/publicdomain/zero/1.0/",
    "license_evidence": "evidence/bird-yellow-billed-shrike.html",
    "download_url": "https://opengameart.org/sites/default/files/bird_yellow_billed_shrike.zip",
    "source_path": "assets/birds/shrike/bird_yellow_billed_shrike.zip",
    "sha256": "a41a4f10ce7795d508b8eded4eb45e80ddf85bc4dba1f2bea4708e7705faac64",
    "source_bytes": 11246978,
    "license_evidence_sha256": "8777da2a4d2eeef3aad0e64b91e61dcccecd945c1625df471f0e2c4699c3a754",
    "upstream_sources": []
  },
  "artifacts": {
    "thumbnail": {
      "url": "/revisions/rainbow-budgie-v11/three-quarter.jpg",
      "sha256": "7ed3d7d71d719c5aa39302594b3b661aaa0f44c9d3cc9a5a0bc443616dab1771"
    },
    "videos": [
      {
        "url": "/revisions/rainbow-budgie-v11/front.mp4",
        "sha256": "0a2036ad8ec2790c9cc8e708111217f805e5dfd03afe16d1e36fadebe7833712",
        "label": "正面",
        "view_id": "front",
        "kind": "single_final_view",
        "width": 480,
        "height": 480,
        "fps": 30,
        "duration_seconds": 4.666666666666667,
        "poster": {
          "url": "/revisions/rainbow-budgie-v11/front.jpg",
          "sha256": "832a57f84d6e456a549e2e8f7343cf1b00f99e77ffd66ba71ebd85c8f614ac79"
        }
      },
      {
        "url": "/revisions/rainbow-budgie-v11/side.mp4",
        "sha256": "8c338e3319df262c1c69a55b135584f337f0ea52de91f004ccf54c67b4f41a7f",
        "label": "横から",
        "view_id": "side",
        "kind": "single_final_view",
        "width": 480,
        "height": 480,
        "fps": 30,
        "duration_seconds": 4.666666666666667,
        "poster": {
          "url": "/revisions/rainbow-budgie-v11/side.jpg",
          "sha256": "62fc2023636c35117c37481681d57db92e9d8d5801d6028e7da759aced545a57"
        }
      },
      {
        "url": "/revisions/rainbow-budgie-v11/three-quarter.mp4",
        "sha256": "47e75ddba9e6c3fbf21bc2bc0baf0ad668b3f5d8ae0c639f65f1ac35ac7863d4",
        "label": "斜めから",
        "view_id": "three-quarter",
        "kind": "single_final_view",
        "width": 480,
        "height": 480,
        "fps": 30,
        "duration_seconds": 4.666666666666667,
        "poster": {
          "url": "/revisions/rainbow-budgie-v11/three-quarter.jpg",
          "sha256": "7ed3d7d71d719c5aa39302594b3b661aaa0f44c9d3cc9a5a0bc443616dab1771"
        }
      },
      {
        "url": "/revisions/rainbow-budgie-v11/neck-close.mp4",
        "sha256": "8f02591f4198d730ea07f0d8e6b45d32e612cfcacfcec5cb7903330804dee669",
        "label": "首のモフっと感を近くで",
        "view_id": "neck-close",
        "kind": "single_final_view",
        "width": 480,
        "height": 480,
        "fps": 30,
        "duration_seconds": 4.666666666666667,
        "poster": {
          "url": "/revisions/rainbow-budgie-v11/neck-close.jpg",
          "sha256": "531c78a92abf494aa731efd14dddf375abdd376ffc2ef2b2c05f597533d6bc4d"
        }
      }
    ],
    "comparison": {
      "url": "/revisions/rainbow-budgie-v11/poses.jpg",
      "sha256": "d2321ef957f0e95995d4d1275d409529ae1fda92c89ec6633ce927f0b01f7763"
    },
    "measurements": {
      "url": "/revisions/rainbow-budgie-v11/measurements.json",
      "sha256": "33a459e87aa29bb2e7fbd08976275f5a20eb542977357a8627ac1f9b4a7e4d05"
    },
    "body_and_feather_diagnostics": [
      {
        "url": "/revisions/rainbow-budgie-v11/core-only-rest.jpg",
        "sha256": "cdd464c360dcd99bd91f7f7d9e53abde812955161209fa4ba84c8a55821b425a",
        "label": "固定した内部の身体・通常姿勢"
      },
      {
        "url": "/revisions/rainbow-budgie-v11/core-only-bend.jpg",
        "sha256": "42bb46297fe3ba363d575fe3c471f00a927cc7d4907de1f1c0f762d810111961",
        "label": "同じ身体・首を曲げた姿勢"
      },
      {
        "url": "/revisions/rainbow-budgie-v11/feathers-only-rest.jpg",
        "sha256": "3564347bf92c4011b1e50a9a8f4f90bbf9b924a410ea93cc0c68fb27469d9eea",
        "label": "羽レイヤーのみ"
      },
      {
        "url": "/revisions/rainbow-budgie-v11/back-rest.jpg",
        "sha256": "a930a7b5c51c670b5d90c11e92ca36619eca3f10a9dbddcdb0fd9b4ea481bf76",
        "label": "背中の羽"
      },
      {
        "url": "/revisions/rainbow-budgie-v11/back-bend.jpg",
        "sha256": "be020a2eb599f5568a23163072611c0eb2f7c4fe18b64ba58d3dbd780c573dab",
        "label": "曲げたときの背中"
      }
    ],
    "length_verification": {
      "url": "/revisions/rainbow-budgie-v11/inextensible-check.json",
      "sha256": "611ede88699cf22d177ebd615fce1e1ff964eb52e427f7315012338054ffb282"
    },
    "gltf": {
      "url": "/revisions/rainbow-budgie-v11/model.gltf",
      "sha256": "3463e3aa747a7c3633f2296da588785ede8af98d1b7e7724a4c07e928356f4cd",
      "format": "gltf",
      "buffers": [
        {
          "url": "/revisions/rainbow-budgie-v11/model-buffer-0.bin",
          "sha256": "84be035210a36b6248a48103a387a73f653772f9918d4a321fb4af395ada2578"
        },
        {
          "url": "/revisions/rainbow-budgie-v11/model-buffer-1.bin",
          "sha256": "a6e606b4ff41c1b813d3b8a4329ca185aa87a547108d5034c2e9de39d3985089"
        }
      ]
    }
  },
  "references": [
    {
      "url": "https://academy.allaboutbirds.org/features/all-about-feathers/how-feathers-are-built.php",
      "use": "Feather structure; no pixels copied"
    },
    {
      "url": "https://www.harrisonsbirdfoods.com/wp-content/uploads/2024/03/607-639-Ch24-Dermatology.pdf",
      "use": "Tract organization and overlap"
    },
    {
      "url": "https://onlinelibrary.wiley.com/doi/abs/10.1002/jez.b.30",
      "use": "Root muscle/feather functional framework"
    },
    {
      "url": "https://bcsa.com.au/varieties/rainbow-budgies/",
      "use": "Budgie appearance reference; no pixels copied"
    }
  ],
  "source_glb_sha256": "91a5efa2c2e74b4fc88212d2ce23d67466b414bb3a2877f909c2ccb41a418095"
}
