Files
vectorcraft/crates
dotCooCoo 6e2123709e Blob Brush: a long drag's settled outline is reused from frame to frame
The outline a Blob Brush or Eraser drag shows was copied, flattened and
tessellated again every frame, settled parts included, so the per-frame
cost of a long stroke grew with its whole length.

- The settled outline blocks are kept as shared paths and returned as a
  new Overlay::SharedPath; a block gets a new path only when it is
  joined again.
- The canvas keeps the mesh each shared path was drawn with, by the
  path's allocation and for the view, clip and stroke it was built for.
  A frame with the same path and view draws the kept mesh; a pan, zoom
  or rotation builds it once more. Lines outside the canvas get no
  triangles. A frame keeps only the meshes it draws.

egui still copies each kept mesh into the frame's mesh on every repaint.
The release sends the same path.blob and path.eraseRegion command as
before. The round Eraser tip's line is unchanged.
2026-11-14 03:39:39 -08:00
..
…
…