)]}'
{
  "commit": "e7a75ecb9e1155f315e4c4fb537c8393b538855f",
  "tree": "d276057e43ea8547d847c6b330b5f70ee6ba31e1",
  "parents": [
    "073df8e726642a35d1f343f43ef282872038f2e1"
  ],
  "author": {
    "name": "Andrew Jakubowicz",
    "email": "ajakubowicz@canva.com",
    "time": "Thu Jul 03 07:38:51 2025 +1000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Jul 02 21:38:51 2025 +0000"
  },
  "message": "[vello_cpu]: add WASM vello_cpu examples (#1076)\n\n### Context\n\nTo help with performance profiling and inspecting vello_cpu example\nrenders on the browser, this PR adds a vello_cpu examples.\n\nRun with `cargo run_wasm -p wasm_cpu --release`\n\n### Scenes added\n\nWe don\u0027t yet have a rendering abstraction between `vello_cpu` and\n`vello_hybrid`, so the example scenes are pretty similar, but not quite\nidentical. I simplified each one to use `RenderContext` instead of\n`Scene`, and also made them very specific to running on the browser.\n\nI added:\n - simple\n - tiger svg\n - cowboy image\n - text\n - clipping\n\nNo new assets are added in this PR - only existing assets in the repo\nare used. See the screen recording to see the scenes added.\n\n### Test plan\n\n\n\u003e [!Note]\n\u003e Passing the +simd128 rustc flags spams the console with `(ignoring\nfeature)` logs. This is because the run-wasm tool is built for your\nsystem architecture with the same global flags – and because it\u0027s not\nwasm it doesn\u0027t recognize the feature. Everything still works.\n\nTest it by running it with `cargo run_wasm -p wasm_cpu --release` and\ntest explicit SIMD by running `RUSTFLAGS\u003d-Ctarget-feature\u003d+simd128 cargo\nrun_wasm -p wasm_cpu --release`.\n\n\n### Screen recording\n\n\n\nhttps://github.com/user-attachments/assets/80867362-bce5-4a9e-b303-88b2c9233972",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "18ff3e9468b880116157b2df35e9d57a99e46a42",
      "old_mode": 33188,
      "old_path": "Cargo.lock",
      "new_id": "7389b96cc56e3abfa4f555a23d1462987983b20b",
      "new_mode": 33188,
      "new_path": "Cargo.lock"
    },
    {
      "type": "modify",
      "old_id": "e1650c489a7952e0b2758a5e92dcbcbd4f0133ef",
      "old_mode": 33188,
      "old_path": "Cargo.toml",
      "new_id": "10c985965bd4724525ec3621d22b4cc1a856fb8a",
      "new_mode": 33188,
      "new_path": "Cargo.toml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4c3ccde909c019727e5431b781f2a84e1267aa5e",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/examples/wasm_cpu/Cargo.toml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1e5ef399305ee81d8e1cdbc4797453ad3a24061d",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/examples/wasm_cpu/README.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "739b23a5636e544cb3e38c0a5e7be30891161c99",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/examples/wasm_cpu/src/lib.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cf7a53ca3487e358c336eda1548cc2fbb26c3dcc",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/examples/wasm_cpu/src/main.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0bb154807d11bc97c90826c5ae3ad93d1b8cf2f6",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/examples/wasm_cpu/src/scenes/clip.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7441b98a9bef5c564f2ffbec4de5d8dab5ab781c",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/examples/wasm_cpu/src/scenes/image.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "191e40670815b85f171cc33a137fcc09ca3e38cc",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/examples/wasm_cpu/src/scenes/mod.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "55596aa08b08574dd104b53e4d4983a1c87c3228",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/examples/wasm_cpu/src/scenes/simple.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8725a818aea550ffbf3e83325db733d957b8b985",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/examples/wasm_cpu/src/scenes/svg.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "641d5475602799e68fab4f3bf9116372f9a6c72a",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/examples/wasm_cpu/src/scenes/text.rs"
    }
  ]
}
