)]}'
{
  "commit": "36e06ab6fc233d4809b033220ba0e7cdf93c2f13",
  "tree": "2116f57243754e88529f3ca6861189dedebea5a3",
  "parents": [
    "85d3da78f8665bdd8c7b59e88410877c3c283913"
  ],
  "author": {
    "name": "Laurenz Stampfl",
    "email": "47084093+LaurenzV@users.noreply.github.com",
    "time": "Wed Apr 15 08:09:37 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Apr 15 06:09:37 2026 +0000"
  },
  "message": "sparse_strips: Apply stroke adjustment (#1576)\n\nIf we have a glyph run with font size 8 and a scaling factor of 8, we\ninstead set the font size to 64 and the scale to 1. However, the stroke\nwidth should _still_ be affected by the scaling factor, even if we\nabsorb. Unfortunately, this is not straightforward to do, because at the\ntime where we do absorption, we don\u0027t know yet whether we are going to\nfill or stroke. So this is the only hack I could come up with.\n\nThere is one uncertainty: For glyph caching, we only do absorption if\nthere is no skewing and uniform scaling, so this is always safe to do.\nHowever, for hinting we also can absorb if there is vertical skewing;\nI\u0027m not sure if uniformly increasing the stroke width is still the right\nthing to do here? But anyway, this is hopefully an edge case we can\nignore for now.\n\nCo-authored-by: Laurenz Stampfl \u003claurenz@canva.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "67fe961aaf2c25b3c5e3a59155e6ec376c9594e9",
      "old_mode": 33188,
      "old_path": "glifo/src/glyph.rs",
      "new_id": "be0dc57de1a5ac4fc0ce57389b19f2c6b4343973",
      "new_mode": 33188,
      "new_path": "glifo/src/glyph.rs"
    },
    {
      "type": "modify",
      "old_id": "c46620c3ab7650070082513c6a305c221afc05e1",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_cpu/src/render.rs",
      "new_id": "4e5ff26cfedf20ccd1b13e2d7de7269c2f518441",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/src/render.rs"
    },
    {
      "type": "modify",
      "old_id": "d713130446195b89d82753c1af35e277245de9e0",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_cpu/src/text.rs",
      "new_id": "e5aebd1a88cbb90760c1da935c46bae6eaa35e60",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/src/text.rs"
    },
    {
      "type": "modify",
      "old_id": "6803bbbb4701f04a5352865dd656950e72853601",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_hybrid/src/scene.rs",
      "new_id": "74296dbf1c15c448235caa40effdfbf418a3f700",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_hybrid/src/scene.rs"
    },
    {
      "type": "modify",
      "old_id": "15ad4be94bd255e36ad0a7b665ddddc2695562fb",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_hybrid/src/text.rs",
      "new_id": "282c926035e6776c8b6c216cc7f4361f38d3bb9e",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_hybrid/src/text.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "89f0b053b6451d87b1a59df3211eff7950556f20",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/glyphs_stroked_scaled_up.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "89f0b053b6451d87b1a59df3211eff7950556f20",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/glyphs_stroked_scaled_up_cached.png"
    },
    {
      "type": "modify",
      "old_id": "44517165dba394b9b6fd9e7baa1d0ada29f06ffe",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/tests/glyph.rs",
      "new_id": "e79bcafce09f2c5485e8a2ee8020442bdb696c00",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/tests/glyph.rs"
    }
  ]
}
