)]}'
{
  "commit": "cc2dd70e86a2b7e58036668a661031aa492e5e46",
  "tree": "68f361457f850a6009f8ce6e914ff05fa0d200d1",
  "parents": [
    "ee0d2279032b3e68c5be9d2b59dc092492c3a482"
  ],
  "author": {
    "name": "Tom Churchman",
    "email": "thomas@churchman.nl",
    "time": "Mon Jan 05 13:55:35 2026 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Jan 05 12:55:35 2026 +0000"
  },
  "message": "vello_common: move subpath closing logic into `flatten` (#1340)\n\nThis is just a logic change and slight simplification of the lines\nrepresentation. By moving the burden of closing input subpaths to\nflattening itself, this will allow, e.g., culling geometry at the level\nof Béziers. Before, the closing of subpaths lived as a post-processing\nstep after flattening.\n\nThe actual change that starts using this for something more exciting is\nin https://github.com/linebender/vello/pull/1341.\n\nThis by itself does not really bring down timings (plus noise makes it\nhard to measure).\n\n```\nflatten/Ghostscript_Tiger\n                        time:   [203.93 µs 204.28 µs 204.68 µs]\n                        change: [-2.1022% -1.8481% -1.5684%] (p \u003d 0.00 \u003c 0.05)\n                        Performance has improved.\nFound 12 outliers among 100 measurements (12.00%)\n  10 (10.00%) high mild\n  2 (2.00%) high severe\nflatten/paris-30k       time:   [12.222 ms 12.298 ms 12.384 ms]\n                        change: [+0.7747% +1.3966% +2.2290%] (p \u003d 0.00 \u003c 0.05)\n                        Change within noise threshold.\nFound 13 outliers among 100 measurements (13.00%)\n  13 (13.00%) high severe\n```",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "65f987ee58e43a2aecf255641fed96eec1f23813",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_common/src/flatten.rs",
      "new_id": "97a15ad602a58ac42faf2b81aeac6f364d1253e5",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_common/src/flatten.rs"
    },
    {
      "type": "modify",
      "old_id": "08e2eabdb3f96051062a6ac9fe50a3ff873ce2da",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_common/src/flatten_simd.rs",
      "new_id": "265a509c0f3cde30285f0a61dd02a37fa982fb46",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_common/src/flatten_simd.rs"
    }
  ]
}
