)]}'
{
  "commit": "c9cc7a67dd1c96676ab34bbcac139ca969e83ccb",
  "tree": "4d831356d7bb03ae4e455a4d9ae41a5893217f74",
  "parents": [
    "aec4c7c4038ea001c25b0da8022c14a25545f8ef"
  ],
  "author": {
    "name": "luigi-rosso",
    "email": "hello@rive.app",
    "time": "Tue Sep 19 02:45:04 2023 +0000"
  },
  "committer": {
    "name": "luigi-rosso",
    "email": "hello@rive.app",
    "time": "Tue Sep 19 02:45:04 2023 +0000"
  },
  "message": "Fix issue with timeline events on first frame\n\nEvents that fire on the first frame (with a work area too) were not reporting. This was because the way we look for occurred events wouldn\u0027t catch an event that started at the same time as the playhead as presumably that would\u0027ve been caught on the previous frame. This falls apart when the animation starts on the same frame as the one where an event (or multiple) are triggered.\n\nAdds a fix by detecting this condition and a bunch of tests in both C++ and Dart for it.\n\nAlso revs the lightning bolt animation in the editor for triggering the event as this showed an issue with state contention in its state machine.\n\nDiffs\u003d\n382a48cf8 Fix issue with timeline events on first frame (#6006)\n\nCo-authored-by: Luigi Rosso \u003cluigi-rosso@users.noreply.github.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "362294915695512f6bcd7c355f28925964436118",
      "old_mode": 33188,
      "old_path": ".rive_head",
      "new_id": "21826a4c9350ad2edd01d3c953c48035df42aa70",
      "new_mode": 33188,
      "new_path": ".rive_head"
    },
    {
      "type": "modify",
      "old_id": "04acdd68f3369edfdfef7e77a527062d0d17aefb",
      "old_mode": 33188,
      "old_path": "include/rive/animation/keyed_object.hpp",
      "new_id": "e11306c77c79431971b1ec07e63dd0503198733a",
      "new_mode": 33188,
      "new_path": "include/rive/animation/keyed_object.hpp"
    },
    {
      "type": "modify",
      "old_id": "e092cfee56a9459ace9d65fed337d623a3d0fdcb",
      "old_mode": 33188,
      "old_path": "include/rive/animation/keyed_property.hpp",
      "new_id": "c45f3bd1cbd1c036d77e2871e01a1fea70b5143b",
      "new_mode": 33188,
      "new_path": "include/rive/animation/keyed_property.hpp"
    },
    {
      "type": "modify",
      "old_id": "c43e9de98a893fdacae24c9c6f093611b05c0794",
      "old_mode": 33188,
      "old_path": "src/animation/keyed_object.cpp",
      "new_id": "3666199f4515c2b7b7a281475d541ea5176154a6",
      "new_mode": 33188,
      "new_path": "src/animation/keyed_object.cpp"
    },
    {
      "type": "modify",
      "old_id": "b200df70e33cafd9f0c34f9d5963e207d2a30a06",
      "old_mode": 33188,
      "old_path": "src/animation/keyed_property.cpp",
      "new_id": "750e976d8e03433b5ec5b5eef69b6d8953323d3d",
      "new_mode": 33188,
      "new_path": "src/animation/keyed_property.cpp"
    },
    {
      "type": "modify",
      "old_id": "bb3850239a693d81b5a2c61e6be6c3fe016bbfa8",
      "old_mode": 33188,
      "old_path": "src/animation/linear_animation.cpp",
      "new_id": "c2ade3b50bd42cb590e267fb800ba3d0875446a8",
      "new_mode": 33188,
      "new_path": "src/animation/linear_animation.cpp"
    },
    {
      "type": "modify",
      "old_id": "76049f52c61434f4720d5bd270f9580810e61d60",
      "old_mode": 33188,
      "old_path": "src/animation/linear_animation_instance.cpp",
      "new_id": "b6232d11aeb92cfe26827c089459733e2d4bf030",
      "new_mode": 33188,
      "new_path": "src/animation/linear_animation_instance.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f4175b37a615a7ed426163c61bfd24f1778a36c5",
      "new_mode": 33188,
      "new_path": "test/assets/looping_timeline_events.riv"
    },
    {
      "type": "modify",
      "old_id": "fe59c28932e29e3e0a6e0c0549f5497844b2725c",
      "old_mode": 33188,
      "old_path": "test/linear_animation_test.cpp",
      "new_id": "ef232358416d62c19e6c7aaab0b3010d3d785bb9",
      "new_mode": 33188,
      "new_path": "test/linear_animation_test.cpp"
    }
  ]
}
