)]}'
{
  "commit": "215de972f9e7a91a8f518158e14265a6aa18e24b",
  "tree": "48d50a29067db4dd3f03c6a92e8c469c1a665c73",
  "parents": [
    "43d7f27b10c533ffba5b010a2eb6f0c9781c4014"
  ],
  "author": {
    "name": "susan101566",
    "email": "hello@rive.app",
    "time": "Mon Aug 19 21:03:29 2024 +0000"
  },
  "committer": {
    "name": "susan101566",
    "email": "hello@rive.app",
    "time": "Mon Aug 19 21:03:29 2024 +0000"
  },
  "message": "editor: setting up the update callbacks for n-slicing\n\nI did some refactoring on image and mesh, where I created a \u0027deformer\u0027 that manages which mesh to show.\nI also abstracted out the parts in Mesh that deals with rendering specifically, called MeshDrawable.\nThere\u0027s also a simple UI gated behind a feature flag that shows the N Slicing panel, where you can create, delete, update axis data (hold alt to show the remove axis button).\nThe behavior is that when you create a mesh, the nslicer is deleted and vice versa.\n\nI mostly tested this manually. I added a print in the temp mesh\u0027s update, and made sure that when any axis gets deleted or updated, the print would trigger.\n\nI could add an auto test?! I need to look into that, but wanted to send this out to get some feedback on the approach.\n\nNext up: I\u0027ll add the algorithm for actually updating the render buffers in the temp mesh.\n\ndoc: https://www.notion.so/rive-app/9-Slice-Tech-Proposal-Image-only-50b25ea8e79c4efabb681110e288f064#15f3a49ce3534baeafc31c37fb30cc0b\n\nDiffs\u003d\nf99c93181 editor: setting up the update callbacks for n-slicing (#7869)\n\nCo-authored-by: Susan Wang \u003csusan@rive.app\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b68cbc787683b667347e0b8c6d51893509541ae9",
      "old_mode": 33188,
      "old_path": ".rive_head",
      "new_id": "7dcbdefd2259bbfad7a5d2ea56323c33f5f4609b",
      "new_mode": 33188,
      "new_path": ".rive_head"
    },
    {
      "type": "modify",
      "old_id": "d64214235fc79b844718173ba382469484b3c161",
      "old_mode": 33188,
      "old_path": "dev/defs/layout/n_slicer.json",
      "new_id": "c244b37ce28f5f3cd0ef59f694c2a4531f03d735",
      "new_mode": 33188,
      "new_path": "dev/defs/layout/n_slicer.json"
    },
    {
      "type": "modify",
      "old_id": "23fa548763d93e42759791a379e5124b4895a4e3",
      "old_mode": 33188,
      "old_path": "include/rive/generated/layout/n_slicer_base.hpp",
      "new_id": "9ef88e9071f7ab2748fb328bae44172ade969523",
      "new_mode": 33188,
      "new_path": "include/rive/generated/layout/n_slicer_base.hpp"
    }
  ]
}
