)]}'
{
  "commit": "7a06c7404ce4422c5c6be7c986b95d408b840073",
  "tree": "5a02c67859552f237c336170bd80f2a6c1635362",
  "parents": [
    "00866e552a4ed1a1b344f0b7320c72952aab455a"
  ],
  "author": {
    "name": "luigi-rosso",
    "email": "hello@rive.app",
    "time": "Mon Aug 14 19:16:17 2023 +0000"
  },
  "committer": {
    "name": "luigi-rosso",
    "email": "hello@rive.app",
    "time": "Mon Aug 14 19:16:17 2023 +0000"
  },
  "message": "Event triggering\n\nExplores an API for triggering events and querying them at runtime.\n\nFor Flutter we expose an onEvent callback that you can add a callback to on the StateMachineController:\n```dart\nfinal controller \u003d StateMachineController.fromArtboard(artboard, \u0027bumpy\u0027, onEvent: {);\ncontroller.onEvent \u003d (event) {\n  // Do something with event. Like:\n  if(event is OpenURLEvent) {\n    launchUrl(event.url);\n  }\n};\nartboard.addController(controller!);\n```\n\nNote that I haven\u0027t piped onEvent to the Flutter runtime yet but you\u0027ll see it in the StateMachineController in core.\n\nIn C++:\n```c++\nauto count \u003d stateMachineInstance-\u003efiredEventCount();\nfor(auto i \u003d 0; i \u003c count; i++) {\n  auto event \u003d stateMachineInstance-\u003efiredEventAt(i);\n  if(event-\u003eis\u003cOpenURLEvent\u003e()) {\n    // Do something with the url.\n    auto url \u003d event-\u003eas\u003cOpenURLEvent\u003e()-\u003eurl();\n  }\n}\n```\n\nYou can see some of this in action in the state_machine_event_test.cpp.\n\nYou can also see the events in the console in the editor:\n\u003cimg width\u003d\"717\" alt\u003d\"CleanShot 2023-08-10 at 18 03 22@2x\" src\u003d\"https://github.com/rive-app/rive/assets/454182/af21902a-424d-435b-b5b0-2a43701fe186\"\u003e\n\nIn a follow up PR:\n- Ability to trigger events from State (in/out) and Transition (start/end).\n- Add custom properties to Events C++ API (currently they are loaded but not tracked against their respective events).\n\nDiffs\u003d\n8caa7d377 Event triggering (#5793)\n\nCo-authored-by: Luigi Rosso \u003cluigi-rosso@users.noreply.github.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4b1e6085c5e690ee7e2745091eb799fc6fa893b6",
      "old_mode": 33188,
      "old_path": ".rive_head",
      "new_id": "f69ef3f0c09b66762cf26f0ee321259e5131d78b",
      "new_mode": 33188,
      "new_path": ".rive_head"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d5baa7d931d5c8de73c4778da3f9cb2ff24089bb",
      "new_mode": 33188,
      "new_path": "dev/defs/animation/listener_fire_event.json"
    },
    {
      "type": "modify",
      "old_id": "b3272fb9c21dc623403fc2d61213e40e19d231b5",
      "old_mode": 33188,
      "old_path": "dev/defs/animation/state_machine_component.json",
      "new_id": "2266155496f1c0f886ce970b36bc04469cbbf314",
      "new_mode": 33188,
      "new_path": "dev/defs/animation/state_machine_component.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ab0518770145e185239f97c6a53093c8d83f3084",
      "new_mode": 33188,
      "new_path": "dev/defs/animation/state_machine_component_folder.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "86e874f9e96334f46f391c2084febae7fedc5574",
      "new_mode": 33188,
      "new_path": "dev/defs/animation/state_machine_input_folder.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9c59ae2f56277a6b3f4d6ff152e523da93bd9133",
      "new_mode": 33188,
      "new_path": "dev/defs/animation/state_machine_listener_folder.json"
    },
    {
      "type": "modify",
      "old_id": "53190437d6c21a4a3a51c62f62217ff4ec2e8f98",
      "old_mode": 33188,
      "old_path": "dev/defs/artboard.json",
      "new_id": "628ce9be00a316d76d475b2e96bc6ccc4a953a9e",
      "new_mode": 33188,
      "new_path": "dev/defs/artboard.json"
    },
    {
      "type": "modify",
      "old_id": "f10a7907888644af606832305e86960b09b4073d",
      "old_mode": 33188,
      "old_path": "dev/defs/assets/font_asset.json",
      "new_id": "01a505876d730a23009d071522fa3583919794a7",
      "new_mode": 33188,
      "new_path": "dev/defs/assets/font_asset.json"
    },
    {
      "type": "modify",
      "old_id": "b194d688269f8cd7cb3ce0f523d5cc92e46ddee1",
      "old_mode": 33188,
      "old_path": "dev/defs/backboard.json",
      "new_id": "a57597dfd253d9f5ebf3940303d9dc1e1538ae48",
      "new_mode": 33188,
      "new_path": "dev/defs/backboard.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "22ad63bf26a3b959b183bb9c3db3c45019ebc57a",
      "new_mode": 33188,
      "new_path": "dev/defs/clipboard_header.json"
    },
    {
      "type": "modify",
      "old_id": "4d590a6a1c24f3fb5358b01f856db6f58e02417e",
      "old_mode": 33188,
      "old_path": "dev/defs/component.json",
      "new_id": "75fd1e80ffa01df255692f1467d67f6ddd7220d4",
      "new_mode": 33188,
      "new_path": "dev/defs/component.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "98c368407c5f358bef1767a72a52aaa903fd4fb4",
      "new_mode": 33188,
      "new_path": "dev/defs/custom_property.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d114ca6354495631e3ecfe8ac9395ce8cbfc877d",
      "new_mode": 33188,
      "new_path": "dev/defs/custom_property_boolean.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3271b7906f940a2dee0abe874e5b14eba0df7ff5",
      "new_mode": 33188,
      "new_path": "dev/defs/custom_property_number.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6f60ac9200267c79bdb08069048b5482439f995f",
      "new_mode": 33188,
      "new_path": "dev/defs/custom_property_string.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "900d71ef4fe6c51c9a0f2078cfff641f671b3ad4",
      "new_mode": 33188,
      "new_path": "dev/defs/event.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "87f6d183f101f3d48ee9fc066f7977fbd7891f8e",
      "new_mode": 33188,
      "new_path": "dev/defs/guide.json"
    },
    {
      "type": "modify",
      "old_id": "461454eb3d1790a70015c0aea21ab5a255759471",
      "old_mode": 33188,
      "old_path": "dev/defs/joystick.json",
      "new_id": "f356b79ef464fdb417c286d2901109fa9bdf73d7",
      "new_mode": 33188,
      "new_path": "dev/defs/joystick.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "77b57f9a03820e82db32011b0fae36a0a57e1ef5",
      "new_mode": 33188,
      "new_path": "dev/defs/open_url_event.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "58c6ebff36a7d5b2570b5a0d7ce3e2b03bbe2165",
      "new_mode": 33188,
      "new_path": "dev/defs/tag.json"
    },
    {
      "type": "modify",
      "old_id": "8bf0efd68a97d13e26e96b44b5e6233c9d4ac74f",
      "old_mode": 33188,
      "old_path": "dev/defs/text/text.json",
      "new_id": "73163958e5f4e9f6ea3dcc2d91125c2d0d6dc05b",
      "new_mode": 33188,
      "new_path": "dev/defs/text/text.json"
    },
    {
      "type": "modify",
      "old_id": "0dae240382467fcca815b8ebc90a6284183acf05",
      "old_mode": 33188,
      "old_path": "dev/defs/text/text_value_run.json",
      "new_id": "41b2ac0b6eb9b9d81c8829d36a0d62e85315da80",
      "new_mode": 33188,
      "new_path": "dev/defs/text/text_value_run.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "66c4850007d993b18f555a950f52d8ffca4b9de4",
      "new_mode": 33188,
      "new_path": "include/rive/animation/listener_fire_event.hpp"
    },
    {
      "type": "modify",
      "old_id": "5013b34b173ac3e3fe15f52f5ec6609d7a69da20",
      "old_mode": 33188,
      "old_path": "include/rive/animation/state_machine_instance.hpp",
      "new_id": "8bd9877fdedabef865e17b9725adbce0000b952c",
      "new_mode": 33188,
      "new_path": "include/rive/animation/state_machine_instance.hpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "28639623810a9f43b3b17963993a08ca77ff5b19",
      "new_mode": 33188,
      "new_path": "include/rive/custom_property.hpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "260bc0fc442053eb5922579793536de0b990d049",
      "new_mode": 33188,
      "new_path": "include/rive/custom_property_boolean.hpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "192351b6c661c65e37ca121691d1254f3487b7b0",
      "new_mode": 33188,
      "new_path": "include/rive/custom_property_number.hpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7efc20e4c2dcedbe37a2324bf7843ce5abc85018",
      "new_mode": 33188,
      "new_path": "include/rive/custom_property_string.hpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "faa55180c8240c89f29ac67cfc92fe4ab9a723c2",
      "new_mode": 33188,
      "new_path": "include/rive/event.hpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "33280cd96c1c7023817bf8f1574bd0e8d6394264",
      "new_mode": 33188,
      "new_path": "include/rive/generated/animation/listener_fire_event_base.hpp"
    },
    {
      "type": "modify",
      "old_id": "efc7388bf3becfe9e8ffd3b6a8e590fa97123df6",
      "old_mode": 33188,
      "old_path": "include/rive/generated/core_registry.hpp",
      "new_id": "bf09d27df820b1bacc0753795e6353fdd5b64680",
      "new_mode": 33188,
      "new_path": "include/rive/generated/core_registry.hpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1e2181542d5d36d15ba7f07b80bc4fea2bd77e18",
      "new_mode": 33188,
      "new_path": "include/rive/generated/custom_property_base.hpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ebfe52422077e5446ed5e300dce9688beabdd363",
      "new_mode": 33188,
      "new_path": "include/rive/generated/custom_property_boolean_base.hpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "57d6d2a0d67a8a783cafee004cd068b22c6f3ece",
      "new_mode": 33188,
      "new_path": "include/rive/generated/custom_property_number_base.hpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "40c57ca28f308d1b2b2bbf95fc66879609604165",
      "new_mode": 33188,
      "new_path": "include/rive/generated/custom_property_string_base.hpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b2d4017a745ba22d05f77d088957be9c7917f7ee",
      "new_mode": 33188,
      "new_path": "include/rive/generated/event_base.hpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ec53ae71f27ab3da5a0cb0c1f83994e4dae251ab",
      "new_mode": 33188,
      "new_path": "include/rive/generated/open_url_event_base.hpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fb8bc0e98a886486fbaab8fc95fb7ee6db2b0cdd",
      "new_mode": 33188,
      "new_path": "include/rive/open_url_event.hpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "39d2fd199e941d6fab7e7ce391598c99fc22c5b7",
      "new_mode": 33188,
      "new_path": "src/animation/listener_fire_event.cpp"
    },
    {
      "type": "modify",
      "old_id": "5a1e00d6ed0d7d10f426f62a47efd3e522ba038f",
      "old_mode": 33188,
      "old_path": "src/animation/state_machine_instance.cpp",
      "new_id": "cbccf6daed3013a740622b6492b4ab3f6578a5a4",
      "new_mode": 33188,
      "new_path": "src/animation/state_machine_instance.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e7ae04f2fa7b6adf638caa6f9141a0179cd41080",
      "new_mode": 33188,
      "new_path": "src/generated/animation/listener_fire_event_base.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b999ee836380366c119928bd10099e84da0aacf8",
      "new_mode": 33188,
      "new_path": "src/generated/custom_property_boolean_base.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e1d0dd8cedbeb408f50dbdcdf67a5075ac531db5",
      "new_mode": 33188,
      "new_path": "src/generated/custom_property_number_base.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c7e27ec446ac6e1a47a1afc245467360589a21af",
      "new_mode": 33188,
      "new_path": "src/generated/custom_property_string_base.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "182922828852851318e6acca7b29ca5559e2a1ec",
      "new_mode": 33188,
      "new_path": "src/generated/event_base.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6c7735d683c3802a39698977aedf8d2eccd0616c",
      "new_mode": 33188,
      "new_path": "src/generated/open_url_event_base.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6e2000d3dcaec435147b43354ed7bedc0a9bc021",
      "new_mode": 33188,
      "new_path": "test/assets/event_on_listener.riv"
    },
    {
      "type": "modify",
      "old_id": "00586c0707cf79f32b2722a5fe89b6c9dc98fba3",
      "old_mode": 33188,
      "old_path": "test/state_machine_event_test.cpp",
      "new_id": "9ddab3d58580eda35471fff5eda4e134e9b2c1d6",
      "new_mode": 33188,
      "new_path": "test/state_machine_event_test.cpp"
    }
  ]
}
