From 19aa6feb50f7e2d2fa7561c9fdc8c0ed2b3ac33d Mon Sep 17 00:00:00 2001 From: FORCHA PEARL Date: Tue, 4 Mar 2025 20:41:59 +0100 Subject: [PATCH 1/2] Fix endShape() to Properly Close Paths and Prevent Shape Merging --- src/core/p5.Renderer2D.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/core/p5.Renderer2D.js b/src/core/p5.Renderer2D.js index 163ee01b5a..f3bedeba15 100644 --- a/src/core/p5.Renderer2D.js +++ b/src/core/p5.Renderer2D.js @@ -272,6 +272,7 @@ class Renderer2D extends Renderer { this.drawingContext.stroke(visitor.path); } } + this.clipPath.closePath(); } beginClip(options = {}) { From d9cc368d0dff71adf6e9f2d63350cd918bfe863f Mon Sep 17 00:00:00 2001 From: FORCHA PEARL Date: Tue, 4 Mar 2025 21:08:02 +0100 Subject: [PATCH 2/2] passed unit test --- src/core/p5.Renderer2D.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/p5.Renderer2D.js b/src/core/p5.Renderer2D.js index f3bedeba15..5125e4000d 100644 --- a/src/core/p5.Renderer2D.js +++ b/src/core/p5.Renderer2D.js @@ -264,6 +264,7 @@ class Renderer2D extends Renderer { shape.accept(visitor); if (this._clipping) { this.clipPath.addPath(visitor.path); + this.clipPath.closePath(); } else { if (this.states.fillColor) { this.drawingContext.fill(visitor.path); @@ -272,7 +273,6 @@ class Renderer2D extends Renderer { this.drawingContext.stroke(visitor.path); } } - this.clipPath.closePath(); } beginClip(options = {}) {