)]}'
{
  "commit": "aec4c7c4038ea001c25b0da8022c14a25545f8ef",
  "tree": "16bc4b515a528e4838701da47e5db622fbae9284",
  "parents": [
    "98adbc49cea25adebf222f4c802f978f229c5248"
  ],
  "author": {
    "name": "luigi-rosso",
    "email": "hello@rive.app",
    "time": "Fri Sep 15 22:10:12 2023 +0000"
  },
  "committer": {
    "name": "luigi-rosso",
    "email": "hello@rive.app",
    "time": "Fri Sep 15 22:10:12 2023 +0000"
  },
  "message": "Event fixes\n\nAddresses issues brought up here:\nhttps://2dimensions.slack.com/archives/CLLCU09T6/p1694766559770229\n\n- Custom properties not updating when expected.\n- Events not firing on first frame.\n\nOne important aspect of all of this:\n- Custom properties on events update with LinearAnimation.apply.\n- Events on timelines and state machines accrue/report during StateMachine/LinearAnimation.advance\n\nThese could happen when the state machine would transition to a layer with an animation. The first frame would apply with mix 0 meaning all non-mixable properties wouldn\u0027t be applied per https://github.com/rive-app/rive/pull/5960/files.\n\nI took a slightly different approach. Now apply will always try to apply values. If mix is 0, non mixing properties will apply. I think semantically this makes more sense too. If you don\u0027t want to apply, don\u0027t apply. Apply with mix 0 is effectively a no-op as we had it before, so it was just a perf suck.\n\nSo I re-worked the various call sites for apply to not call it when attempting to mix in an effectively mixed-out animation. This has one caveat for blend states. Because the blend state advances all the animations in sync, .advance must still be called when mix is 0, so events will still report but custom property keyframes in mixed out animations will not update. I think that\u0027s reasonable, but may not be immediately apparent. We can opt to not report events when the mix is 0 by introducing a \"reportEvents\" boolean to advance, or add an option to the blend state for whether or not they should report.\n\nDiffs\u003d\n236d788ea Event fixes (#5997)\n\nCo-authored-by: Alex Gibson \u003cagibson.uk@gmail.com\u003e\nCo-authored-by: Luigi Rosso \u003cluigi-rosso@users.noreply.github.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "667a7e2bbd0b61867988c154ab4447e26f4fa796",
      "old_mode": 33188,
      "old_path": ".rive_head",
      "new_id": "362294915695512f6bcd7c355f28925964436118",
      "new_mode": 33188,
      "new_path": ".rive_head"
    },
    {
      "type": "modify",
      "old_id": "c95111a61ed69642fa56d704b7e303d3f381e5c2",
      "old_mode": 33188,
      "old_path": "include/rive/animation/blend_state_instance.hpp",
      "new_id": "fb52f12cb9d571b78c246f5a554ca9ad51c7107d",
      "new_mode": 33188,
      "new_path": "include/rive/animation/blend_state_instance.hpp"
    },
    {
      "type": "modify",
      "old_id": "81a0a9e1f1a3d284a17d3a1aad123b8cd6c954da",
      "old_mode": 33188,
      "old_path": "src/animation/keyframe_id.cpp",
      "new_id": "dfa8fcc9043e247365d3fbc25eb586179571b582",
      "new_mode": 33188,
      "new_path": "src/animation/keyframe_id.cpp"
    },
    {
      "type": "modify",
      "old_id": "fdbdcc3c62bd380dea2b2ffd4d08b58a4e6b0dd9",
      "old_mode": 33188,
      "old_path": "src/animation/keyframe_string.cpp",
      "new_id": "7968ddadc982178e1a4ffcac080b359fcfe44182",
      "new_mode": 33188,
      "new_path": "src/animation/keyframe_string.cpp"
    },
    {
      "type": "modify",
      "old_id": "55d6b249536a9b532d2d04859a2d877fb5eee2fb",
      "old_mode": 33188,
      "old_path": "src/animation/nested_remap_animation.cpp",
      "new_id": "92b94653bddfc126748791385101eff657c33c84",
      "new_mode": 33188,
      "new_path": "src/animation/nested_remap_animation.cpp"
    },
    {
      "type": "modify",
      "old_id": "50286d87857a3f50a5883c40012938ff36771732",
      "old_mode": 33188,
      "old_path": "src/animation/nested_simple_animation.cpp",
      "new_id": "89ff29f86505ea331ccd9297fe2114cd62168a30",
      "new_mode": 33188,
      "new_path": "src/animation/nested_simple_animation.cpp"
    },
    {
      "type": "modify",
      "old_id": "a01685d0d983b1aa57541df79a00eb92d4a3909a",
      "old_mode": 33188,
      "old_path": "src/animation/state_machine_instance.cpp",
      "new_id": "54c337b3441976b4b2039e59b3aee2475604c415",
      "new_mode": 33188,
      "new_path": "src/animation/state_machine_instance.cpp"
    }
  ]
}
