)]}'
{
  "commit": "9b63a6ed351dbf9cc9be586d752b8edcd24aaca9",
  "tree": "efba0b8591f4749bacf7b45f10c2bbcaef601e9a",
  "parents": [
    "2250b598b9a6f833d5976e7f86628fa4fd0ce029"
  ],
  "author": {
    "name": "mjtalbot",
    "email": "hello@rive.app",
    "time": "Thu Aug 24 08:30:27 2023 +0000"
  },
  "committer": {
    "name": "mjtalbot",
    "email": "hello@rive.app",
    "time": "Thu Aug 24 08:30:27 2023 +0000"
  },
  "message": "early out of advance if we are not going to keep goign\n\nattached a file that is relevant to this issue.\n\nthis is a possible solution to the problem. basically early out of our advance, if we have already established that we are not going to keep going. this is to prevent accumulating more spilled time.\n\nanother approach might be to put the keep going check into the animationStateInstance, but then the animation state instance will have to track total time, maybe that makes more sense though than total time being tracked in the linear animation instance.\n\ntodo if this fix is acceptable:\n\n- [x] add a golden test for this.\n- [x] run generators for flutter runtime.\n- [x] apply to cpp runtime.\n\n[spilled_time.riv.zip](https://github.com/rive-app/rive/files/12381784/spilled_time.riv.zip)\n\nhttps://github.com/rive-app/rive/assets/1216025/7afc5d4d-e9cf-4546-941c-947adf2d454b\n\nDiffs\u003d\n2719b1463 early out of advance if we are not going to keep goign (#5849)\n\nCo-authored-by: Maxwell Talbot \u003ctalbot.maxwell@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "06a46dd1edd6a068300c994cede8d2bed439d217",
      "old_mode": 33188,
      "old_path": ".rive_head",
      "new_id": "373b6ded480034d613fc200489e173f5879a0697",
      "new_mode": 33188,
      "new_path": ".rive_head"
    },
    {
      "type": "modify",
      "old_id": "1b7c91da9d7c0abda56ec436f05177daad76144e",
      "old_mode": 33188,
      "old_path": "include/rive/animation/linear_animation_instance.hpp",
      "new_id": "36656d521b46e58636435e634dd6e3b6bf08bd94",
      "new_mode": 33188,
      "new_path": "include/rive/animation/linear_animation_instance.hpp"
    },
    {
      "type": "modify",
      "old_id": "ac527f8289f82ce9600cdcc4efe2c48c7d938799",
      "old_mode": 33188,
      "old_path": "src/animation/linear_animation_instance.cpp",
      "new_id": "7be5d6a14581f1b9baacd73317d7e261aa6bde1d",
      "new_mode": 33188,
      "new_path": "src/animation/linear_animation_instance.cpp"
    },
    {
      "type": "modify",
      "old_id": "199311520e4624a16417a9085e2563e633945d30",
      "old_mode": 33188,
      "old_path": "src/animation/state_machine_instance.cpp",
      "new_id": "cc6c649b0b4123bde7af90bf673866bb5e6aad66",
      "new_mode": 33188,
      "new_path": "src/animation/state_machine_instance.cpp"
    }
  ]
}
