)]}'
{
  "commit": "f41cd8f3b1bd6b14442630859d3a7bbba9d16b9c",
  "tree": "4a77c29b195310b7e3b7983d1a6f41e3ea62ff7b",
  "parents": [
    "0a8499b87a7d722b982d9c444172cab94d8320f2"
  ],
  "author": {
    "name": "philter",
    "email": "hello@rive.app",
    "time": "Thu Aug 06 04:30:24 2026 +0000"
  },
  "committer": {
    "name": "philter",
    "email": "hello@rive.app",
    "time": "Thu Aug 06 04:30:24 2026 +0000"
  },
  "message": "chore: Reset legacy layout transforms (#13400) 6dec243962\nLayouts became transformable in #13033 — rotation/scale now compose on top of the solved slot. Older editors let those properties be written in some edge cases on a LayoutComponent but never read them, so files can carry stale values that suddenly took effect. A stored scale 0 collapses the layout to zero size while keeping its position, which is what the reported file hit.\n\nFixed on both sides, following the layout-image-fit precedent (c372d0d):\n\nEditor — coreVersion 6 → 7. Files below 7 have non-artboard LayoutComponent rotation/scale/x/y reset to identity on open. Render-preserving: identity reproduces the old translation-only composition. x/y is reset ahead of the composition supporting it so files are already clean when that lands. Artboards are excluded — they extend LayoutComponent, but their x/y is the stage position.\n\nRuntime — riv 7.2 → 7.3. LayoutComponent::import records whether the file predates 7.3 and the composition skips stored transforms for those files, so already-exported .riv files render unchanged and need no re-export. LayoutComponent::clone() carries the flag, since every rendered artboard is an instance built by cloning its objects.\n\nLibraries get the same treatment via LibraryAsset.decode(). A library is flattened into the host\u0027s .riv under the host\u0027s version stamp, so the runtime gate can\u0027t protect it; the reset runs on its internalCore instead — in memory, never journaled or sent to coop, so no republish is needed. The shared routine also closes the same latent gap for the coreVersion 5 image migration, which only ever ran on host files.\n\nCo-authored-by: Philip Chung \u003cphilterdesign@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3c489a2bd197182be448720e486537bea0a4275f",
      "old_mode": 33188,
      "old_path": ".rive_head",
      "new_id": "9a23a8bf95ee822b15ff2207a3bca5e5beadb2a0",
      "new_mode": 33188,
      "new_path": ".rive_head"
    },
    {
      "type": "modify",
      "old_id": "13250336cf67ce48a7f6153823d56495292f5f90",
      "old_mode": 33188,
      "old_path": "include/rive/file.hpp",
      "new_id": "9bc6041090b9d30db1c6bb10a4049d52f32d9474",
      "new_mode": 33188,
      "new_path": "include/rive/file.hpp"
    },
    {
      "type": "modify",
      "old_id": "4976d65c2e5b2401d84fc714720d9b7a0caa9fef",
      "old_mode": 33188,
      "old_path": "include/rive/layout_component.hpp",
      "new_id": "585926d3a219812d8100683d6b7a72214bfa1cf6",
      "new_mode": 33188,
      "new_path": "include/rive/layout_component.hpp"
    },
    {
      "type": "modify",
      "old_id": "3a6836cab1dc8014fc921217fdf81dd3feefefa0",
      "old_mode": 33188,
      "old_path": "src/layout_component.cpp",
      "new_id": "4d6add5f836623336bc971bb23947fb7133eab3b",
      "new_mode": 33188,
      "new_path": "src/layout_component.cpp"
    },
    {
      "type": "modify",
      "old_id": "31564ee50c9c00a01067478d4425b6505c59c272",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/assets/layout/animated_cubic_participant.riv",
      "new_id": "7a01cebbaaaf278d47bb45e10f569f4574385773",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout/animated_cubic_participant.riv"
    },
    {
      "type": "modify",
      "old_id": "5338678cc771869be406b8de0590e58aca598569",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/assets/layout/animated_participant.riv",
      "new_id": "5bf4958d47885ba4dddb52f456052b684512698a",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout/animated_participant.riv"
    },
    {
      "type": "modify",
      "old_id": "e6da1381f144dbdf230718de52ae10900321b1e7",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/assets/layout/constrained_participant.riv",
      "new_id": "534afe437992a69e1406d221651c2a90c82a495e",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout/constrained_participant.riv"
    },
    {
      "type": "modify",
      "old_id": "88e9e4a31faa22ceb5f6e2a2f3f18df23fd7158d",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/assets/layout/display_none_participant.riv",
      "new_id": "c09d2b3912816c6391533367259be73e96e37a5b",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout/display_none_participant.riv"
    },
    {
      "type": "modify",
      "old_id": "fa12e869e4b56ff0cd89721870750bf350497f0e",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/assets/layout/fixed_participant.riv",
      "new_id": "8673f1fe136881ce3850e81fe5b932f646ec641e",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout/fixed_participant.riv"
    },
    {
      "type": "modify",
      "old_id": "587d0f9875d16bf60761936b3a1dac62c7362526",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/assets/layout/grid_2x2.riv",
      "new_id": "782c31fea1ffa9c1d54fff3d1d8da0af9c5f4ba8",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout/grid_2x2.riv"
    },
    {
      "type": "modify",
      "old_id": "d1afe2535b8ca33bc3ad27de1fd02325f2247766",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/assets/layout/grid_auto_rows.riv",
      "new_id": "b439ae7d2708a53a042891558e101f3552262faa",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout/grid_auto_rows.riv"
    },
    {
      "type": "modify",
      "old_id": "aecf6dd6b0edf6da671f68e7ede1b4e96569c65f",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/assets/layout/grid_participant.riv",
      "new_id": "ed157baf307ff326203ec5e38b54d0ec21f7fc69",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout/grid_participant.riv"
    },
    {
      "type": "modify",
      "old_id": "abc0f99d11852008ad05ede9213f6cdeb9f01b4a",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/assets/layout/grid_track_types.riv",
      "new_id": "8bba8c0dca18f096c5983288fa837bb43403a35f",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout/grid_track_types.riv"
    },
    {
      "type": "modify",
      "old_id": "1fb490bc6e648de28d7fa1ae8c16f8dde9c56feb",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/assets/layout/group_participant.riv",
      "new_id": "0bc8def54ff3cd63a45818c0fc87e46482df86c6",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout/group_participant.riv"
    },
    {
      "type": "modify",
      "old_id": "27a3d94d2919e228dbce4c3b8e960a9bd4d16d6c",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/assets/layout/hug_participant.riv",
      "new_id": "8765f1bcb8e8f0dce23cbfc2ed0c26d9a13e0d50",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout/hug_participant.riv"
    },
    {
      "type": "modify",
      "old_id": "23e25cbd5f34751839b3a98d75401abbc7d25298",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/assets/layout/list_in_group_joins_layout.riv",
      "new_id": "b125d441cf9ba487eca6e4bf3f3cd796bad57471",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout/list_in_group_joins_layout.riv"
    },
    {
      "type": "modify",
      "old_id": "6468125103f19f084760395182006af06d85a712",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/assets/layout/nested_group_participant.riv",
      "new_id": "885c6cb7f7f2f6a844d4849f4c4ed4ff178e5dfe",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout/nested_group_participant.riv"
    },
    {
      "type": "modify",
      "old_id": "63f08a2a548999cfa1603e1a5385074b7be76b63",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/assets/layout/solo_participant.riv",
      "new_id": "eb17e3d3023da863f5e078139a8e97741204a229",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout/solo_participant.riv"
    },
    {
      "type": "modify",
      "old_id": "390105b8b92c6aa59daf3720e8213f9e5fabcace",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/assets/layout/stack.riv",
      "new_id": "1c91f9b98ad8dab09784dcb38f81641dfe5dd11a",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout/stack.riv"
    },
    {
      "type": "modify",
      "old_id": "3ad2da2ad9eab8d401d34d212d09eb1296cb2e18",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/assets/layout/stack_participant.riv",
      "new_id": "bc8f5f8f7031f6632bfdeb1bec3ef7df9315ab4d",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout/stack_participant.riv"
    },
    {
      "type": "modify",
      "old_id": "f542075b909b2bf722b4de8c035e5cf2660dcca5",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/assets/layout/styled_flex.riv",
      "new_id": "25b42743f7c71e3774e7358ecd9ac84683fec53b",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout/styled_flex.riv"
    },
    {
      "type": "modify",
      "old_id": "b4f41042deaa32c13d634d010ac1290e87401db2",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/assets/layout_grid_stack.riv",
      "new_id": "9e7bdeea08b86cbc053177c1f5f64428493be53e",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout_grid_stack.riv"
    }
  ]
}
