)]}'
{
  "commit": "167932b72bc6e08791057dfa04d3c18aa51c7f32",
  "tree": "ae206582d093c85b1233f7592ffdd2bf6a0db5ca",
  "parents": [
    "8ff564a3fcd233a316ac8c827b8aaf82674c5b80"
  ],
  "author": {
    "name": "philter",
    "email": "hello@rive.app",
    "time": "Tue Sep 29 20:50:18 2026 +0000"
  },
  "committer": {
    "name": "philter",
    "email": "hello@rive.app",
    "time": "Tue Sep 29 20:50:18 2026 +0000"
  },
  "message": "chore: pass pointer type and timestamp to scripted drawable handlers (#14472) e3c4939942\nIn a Node script\u0027s pointer handlers (pointerDown / pointerMove / pointerUp / pointerExit), event.type always read \"pointerEnter\", in the editor and at runtime. event.timeStamp was always 0.\n\nThe scripted drawable path built its ScriptedPointerEvent from only the pointer id and local position. ScriptBackend::callPointerEvent had no parameter for the listener type, so it was left at its default of 0, which is ListenerType::enter. Listener actions were unaffected because asPointerEvent() already passes the full invocation through.\n\nThis PR fixes event.type everywhere, and passes event.timeStamp wherever the host already has one. See \"Timestamps\" below for exactly which events get a real timestamp.\n\nCo-authored-by: Philip Chung \u003cphilterdesign@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "134b7021e43c96a5be1207080c3359ce39300f46",
      "old_mode": 33188,
      "old_path": ".rive_head",
      "new_id": "1ad80e7e332ef58bab30dfdadbdc25ea7d1676c1",
      "new_mode": 33188,
      "new_path": ".rive_head"
    },
    {
      "type": "modify",
      "old_id": "85cf4cf7548c991dde0b60791577742c5b8ff424",
      "old_mode": 33188,
      "old_path": "include/rive/lua/scripting_vm.hpp",
      "new_id": "be6dae3ad507d6871f57a9f358049e6ee307d5ff",
      "new_mode": 33188,
      "new_path": "include/rive/lua/scripting_vm.hpp"
    },
    {
      "type": "modify",
      "old_id": "32c450316ae18fd073103d6aee776ceb8f856be0",
      "old_mode": 33188,
      "old_path": "include/rive/scripted/script_backend.hpp",
      "new_id": "9bbb9f8a62d227849c5890fa9e37a45f56360bdc",
      "new_mode": 33188,
      "new_path": "include/rive/scripted/script_backend.hpp"
    },
    {
      "type": "modify",
      "old_id": "9fb232ebbb2f2add1ed52780735fb388d8f6ffda",
      "old_mode": 33188,
      "old_path": "include/rive/wasm/wasm_scripting_vm.hpp",
      "new_id": "8557a26433e68a903184d794b2ec0f9737600fd5",
      "new_mode": 33188,
      "new_path": "include/rive/wasm/wasm_scripting_vm.hpp"
    },
    {
      "type": "modify",
      "old_id": "29a00f4217f65a8f3b246f27eaf0df60ddfb87c9",
      "old_mode": 33188,
      "old_path": "src/lua/lua_script_backend.cpp",
      "new_id": "58c6b5ee89512f847a6a9e93605209f9120df60c",
      "new_mode": 33188,
      "new_path": "src/lua/lua_script_backend.cpp"
    },
    {
      "type": "modify",
      "old_id": "89c348e21f4c72fcf81a6dd13720f6f1f722fb26",
      "old_mode": 33188,
      "old_path": "src/scripted/scripted_drawable.cpp",
      "new_id": "a491259acd817e6147b27d168b0f0468190b2333",
      "new_mode": 33188,
      "new_path": "src/scripted/scripted_drawable.cpp"
    },
    {
      "type": "modify",
      "old_id": "2d171d1651e1c97b9fbaadacfa0084ef0fa420d8",
      "old_mode": 33188,
      "old_path": "src/wasm/wasm_scripting_vm.cpp",
      "new_id": "573c08147333c7ddd5406391880a26f9df014fd9",
      "new_mode": 33188,
      "new_path": "src/wasm/wasm_scripting_vm.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c8d3d6994014bb2b10107190daa1866dc74573f1",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/runtime/scripting/scripting_drawable_pointer_type_test.cpp"
    }
  ]
}
