)]}'
{
  "commit": "b63eee2e31cc3739bf89d193fde6fa6f66fba04a",
  "tree": "5fec5d1b8ddf0959751fca2185a0a1caea746b8c",
  "parents": [
    "31d5662dcb530e00f27b00fc605c2ca2f8f72b1c"
  ],
  "author": {
    "name": "Jason Simmons",
    "email": "jason-simmons@users.noreply.github.com",
    "time": "Wed Aug 30 12:49:04 2023 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Aug 30 19:49:04 2023 +0000"
  },
  "message": "[Impeller] Reorganize the glyph atlas to improve efficiency when looking up runs of glyphs in the same font (#45191)\n\nThe atlas will now store a separate map of glyph positions for each font/scale pair.  This avoids the cost of repeated hashing and copying of font objects for each glyph in a text run.\r\n\r\nSee https://github.com/flutter/flutter/issues/133201",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a93967c93806116cd2ddf5f4fe68bd38a443a1d3",
      "old_mode": 33188,
      "old_path": "impeller/entity/contents/text_contents.cc",
      "new_id": "9495556bef6f53191d7abea2566b9da5522d9ddb",
      "new_mode": 33188,
      "new_path": "impeller/entity/contents/text_contents.cc"
    },
    {
      "type": "modify",
      "old_id": "85bae56a15ecd1b3a3afea28726de5a5ec3abdb3",
      "old_mode": 33188,
      "old_path": "impeller/typographer/backends/skia/typographer_context_skia.cc",
      "new_id": "9f8725a67c81defee1cf646a1b4b44104462f7d5",
      "new_mode": 33188,
      "new_path": "impeller/typographer/backends/skia/typographer_context_skia.cc"
    },
    {
      "type": "modify",
      "old_id": "3c1ebf503134a27f1da57988126478d7481ac49f",
      "old_mode": 33188,
      "old_path": "impeller/typographer/backends/skia/typographer_context_skia.h",
      "new_id": "f54592e3309689d37339d8ad47dd418ed81687e5",
      "new_mode": 33188,
      "new_path": "impeller/typographer/backends/skia/typographer_context_skia.h"
    },
    {
      "type": "modify",
      "old_id": "5efdcf4c72b6c53783db391463bc8e07a51c2764",
      "old_mode": 33188,
      "old_path": "impeller/typographer/backends/stb/typographer_context_stb.cc",
      "new_id": "5669d7eba783724b0dbaf763577b4e78e2b27a17",
      "new_mode": 33188,
      "new_path": "impeller/typographer/backends/stb/typographer_context_stb.cc"
    },
    {
      "type": "modify",
      "old_id": "5496931363ed57a61b7752ae134c890ecef7617c",
      "old_mode": 33188,
      "old_path": "impeller/typographer/backends/stb/typographer_context_stb.h",
      "new_id": "4254c01f98de051828cfb54bd7704aa8336da557",
      "new_mode": 33188,
      "new_path": "impeller/typographer/backends/stb/typographer_context_stb.h"
    },
    {
      "type": "modify",
      "old_id": "16eaecdc6606a7af2546da9ae0ae8beabeec5f7f",
      "old_mode": 33188,
      "old_path": "impeller/typographer/font_glyph_pair.h",
      "new_id": "60be5b8f882935f57d516be3a054f651741a4c35",
      "new_mode": 33188,
      "new_path": "impeller/typographer/font_glyph_pair.h"
    },
    {
      "type": "modify",
      "old_id": "d3797568fdaa235cf97d23ef51bac9cbc70eb671",
      "old_mode": 33188,
      "old_path": "impeller/typographer/glyph.h",
      "new_id": "c9aad01cba317233c7fced1512ceb91c4576e582",
      "new_mode": 33188,
      "new_path": "impeller/typographer/glyph.h"
    },
    {
      "type": "modify",
      "old_id": "21a30ad4d8f80b3c9803020e45cb9be60c9308a2",
      "old_mode": 33188,
      "old_path": "impeller/typographer/glyph_atlas.cc",
      "new_id": "1f9bfaff8d7aeb24496dad64b8697e0c4339bbec",
      "new_mode": 33188,
      "new_path": "impeller/typographer/glyph_atlas.cc"
    },
    {
      "type": "modify",
      "old_id": "c7d4ea4acfcd4cb8866c4d3887243f1c91f162c2",
      "old_mode": 33188,
      "old_path": "impeller/typographer/glyph_atlas.h",
      "new_id": "03d428ac0401bbc56e22056066d76ddfb84b1a95",
      "new_mode": 33188,
      "new_path": "impeller/typographer/glyph_atlas.h"
    },
    {
      "type": "modify",
      "old_id": "bf45acda959856750ed0a27fa34189d0c82429ed",
      "old_mode": 33188,
      "old_path": "impeller/typographer/lazy_glyph_atlas.cc",
      "new_id": "fd5cf27beddc3de3e2b6fd13ccd73c4cfaf357c2",
      "new_mode": 33188,
      "new_path": "impeller/typographer/lazy_glyph_atlas.cc"
    },
    {
      "type": "modify",
      "old_id": "3794a7dcccac9359e73c9c20d45edcc54e128b72",
      "old_mode": 33188,
      "old_path": "impeller/typographer/lazy_glyph_atlas.h",
      "new_id": "b6e8d04d72ac722ace7c3a7a3bd736d5245e8e99",
      "new_mode": 33188,
      "new_path": "impeller/typographer/lazy_glyph_atlas.h"
    },
    {
      "type": "modify",
      "old_id": "9c02a7393bd626aa4bf680d3392338227a67fed1",
      "old_mode": 33188,
      "old_path": "impeller/typographer/text_frame.cc",
      "new_id": "3f82c1d239a9d426bd354b6169f46e7abc95b955",
      "new_mode": 33188,
      "new_path": "impeller/typographer/text_frame.cc"
    },
    {
      "type": "modify",
      "old_id": "35316351e66f036c429e036b2086f82216305442",
      "old_mode": 33188,
      "old_path": "impeller/typographer/text_frame.h",
      "new_id": "d0d2d03e8068c58b8be423cf24e0208dc999a63d",
      "new_mode": 33188,
      "new_path": "impeller/typographer/text_frame.h"
    },
    {
      "type": "modify",
      "old_id": "8ed74ce1fcbf1af929148f02f9ce49552523e6e4",
      "old_mode": 33188,
      "old_path": "impeller/typographer/typographer_context.h",
      "new_id": "1ca4d4a7687c344b1dc6f745ad4b70f87ed6c617",
      "new_mode": 33188,
      "new_path": "impeller/typographer/typographer_context.h"
    },
    {
      "type": "modify",
      "old_id": "fd412297b494116aa130a09e6b3a8d735524c3d2",
      "old_mode": 33188,
      "old_path": "impeller/typographer/typographer_unittests.cc",
      "new_id": "a996bdf98d98dc29c05b1f1242717ff6d08d4d0d",
      "new_mode": 33188,
      "new_path": "impeller/typographer/typographer_unittests.cc"
    }
  ]
}
