)]}'
{
  "commit": "30508aee1f47bb4f09fbf093f296cabe9c289d71",
  "tree": "759e69fec7f5b16bae9fa8d14d928e92ecc3d5d7",
  "parents": [
    "b63d9cfec95fd99bdc5ce182580344648361bd94"
  ],
  "author": {
    "name": "luigi-rosso",
    "email": "hello@rive.app",
    "time": "Mon Jun 26 17:35:21 2023 +0000"
  },
  "committer": {
    "name": "luigi-rosso",
    "email": "hello@rive.app",
    "time": "Mon Jun 26 17:35:21 2023 +0000"
  },
  "message": "Feature options on Fonts\n\nAdds runtime and editor support for setting feature flags on a Font.\n\nThe biggest change to the font engine is that the feature options are now stored on the Font object itself instead of hard-coded during shaping. This is nice as it requires no extra data to be piped through for individual run styling. It also means that we generalized the concept of creating a variable font as configuring a version of the font (see withOptions replacing makeVariation) so that variable axis and feature settings are treated as options to a Font configuration.\n\nThis also allows us to track existing variations and options on the configured Font such that any further call to \"withOptions\" on that already configured Font will propagate previous changes if not overridden. This fortuitously also fixes an issue the modifiers were exhibiting where a variation set on the TextStyle that wasn\u0027t part of the modifier set would be lost.\n\nDiffs\u003d\n31d9a5424 Feature options on Fonts (#5479)\n\nCo-authored-by: Luigi Rosso \u003cluigi-rosso@users.noreply.github.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ae47926382f59419801612f5c792abfe090d41b2",
      "old_mode": 33188,
      "old_path": ".rive_head",
      "new_id": "c5fb21980604d1a854ee2eb6ff6d67ef8598535a",
      "new_mode": 33188,
      "new_path": ".rive_head"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "220c650d94dd1542d85887676f95f5f60f71d432",
      "new_mode": 33188,
      "new_path": "dev/setup_premake.sh"
    },
    {
      "type": "modify",
      "old_id": "27075581556eead582a5f6a91463f03ee15c1296",
      "old_mode": 33261,
      "old_path": "dev/test.sh",
      "new_id": "b11c94b7f09307089b0140dbfada23b2de2eb3a1",
      "new_mode": 33261,
      "new_path": "dev/test.sh"
    },
    {
      "type": "modify",
      "old_id": "61b627b96da451d8bb089e95aa6634ad76ef814a",
      "old_mode": 33188,
      "old_path": "include/rive/text/font_hb.hpp",
      "new_id": "23b7a11ef18c368647a3dc64f379e1248b3881cd",
      "new_mode": 33188,
      "new_path": "include/rive/text/font_hb.hpp"
    },
    {
      "type": "modify",
      "old_id": "8e4f2579dc133f24a0c8d33c3358996454e9e890",
      "old_mode": 33188,
      "old_path": "include/rive/text_engine.hpp",
      "new_id": "881be9bae6333bb0cff47521291d72f2b1c2e5fd",
      "new_mode": 33188,
      "new_path": "include/rive/text_engine.hpp"
    },
    {
      "type": "modify",
      "old_id": "2bd8eaea80522122ffcc3c19374435717b387d27",
      "old_mode": 33188,
      "old_path": "src/text/font_hb.cpp",
      "new_id": "9dec0fd570c947327402b2b87a03cd73295679ed",
      "new_mode": 33188,
      "new_path": "src/text/font_hb.cpp"
    },
    {
      "type": "delete",
      "old_id": "c57ee774b06dff07d740355c16d01b05337361e5",
      "old_mode": 33188,
      "old_path": "src/text/text_engine.cpp",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "rename",
      "old_id": "b42a428fc6de087199b2980c6e005292844b8799",
      "old_mode": 33188,
      "old_path": "test/fallback_font_test.cpp",
      "new_id": "0320404f097b14c41743490301098aa6e4403a9f",
      "new_mode": 33188,
      "new_path": "test/font_test.cpp",
      "score": 62
    }
  ]
}
