From bc93beba924147d42af963bbdfaca17a2cd640d6 Mon Sep 17 00:00:00 2001 From: Luiz Zappa Date: Mon, 25 Jul 2022 21:18:25 -0300 Subject: [PATCH 01/17] fix(util.calcAngleBetweenVectors): ensure cos value is in the range -1 and 1, and replaced Math.hypot with Math.sqrt --- src/util/misc.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/util/misc.js b/src/util/misc.js index c7684bc393d..9482da88b2f 100644 --- a/src/util/misc.js +++ b/src/util/misc.js @@ -14,6 +14,17 @@ * @namespace fabric.util */ fabric.util = { + /** + * Calculate the arccosine of an angle, avoiding values outside [-1, 1] + * @static + * @memberOf fabric.util + * @param {Number} value the value of the cosine + * @return {Number} + */ + acos: function(value) { + var adjustedValue= Math.max(-1, Math.min(value, 1)); + return Math.acos(adjustedValue); + }, /** * Calculate the cos of an angle, avoiding returning floats for known results @@ -166,7 +177,9 @@ * @returns the angle in radian between the vectors */ calcAngleBetweenVectors: function (a, b) { - return Math.acos((a.x * b.x + a.y * b.y) / (Math.hypot(a.x, a.y) * Math.hypot(b.x, b.y))); + return fabric.util.acos( + (a.x * b.x + a.y * b.y) / (Math.sqrt(a.x * a.x + a.y * a.y) * Math.sqrt(b.x * b.x + b.y * b.y)) + ); }, /** From 41271bf4f2302058317800a2fe22f7e2e5d27bf9 Mon Sep 17 00:00:00 2001 From: Luiz Zappa Date: Mon, 25 Jul 2022 23:45:37 -0300 Subject: [PATCH 02/17] fix(getBisector): check if ro is near zero instead of beign strictly equal --- src/util/misc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/util/misc.js b/src/util/misc.js index 9482da88b2f..5e6592a6184 100644 --- a/src/util/misc.js +++ b/src/util/misc.js @@ -205,7 +205,7 @@ var alpha = fabric.util.calcAngleBetweenVectors(AB, AC); // check if alpha is relative to AB->BC var ro = fabric.util.calcAngleBetweenVectors(fabric.util.rotateVector(AB, alpha), AC); - var phi = alpha * (ro === 0 ? 1 : -1) / 2; + var phi = alpha * (Math.abs(ro) <= 1e-7 ? 1 : -1) / 2; return { vector: fabric.util.getHatVector(fabric.util.rotateVector(AB, phi)), angle: alpha From 7f01868f5303710ad866ed32fb554a2e83c691af Mon Sep 17 00:00:00 2001 From: Luiz Zappa Date: Tue, 26 Jul 2022 00:48:31 -0300 Subject: [PATCH 03/17] fix(): projections on projectStrokeOnPoints function. Width, height, pathOffset on _setPositionDimension function for polyline --- src/shapes/polyline.class.js | 23 +++-- src/util/misc.js | 189 +++++++++++++++++++++++++++++++---- 2 files changed, 186 insertions(+), 26 deletions(-) diff --git a/src/shapes/polyline.class.js b/src/shapes/polyline.class.js index 7c76feb4116..dfe9c50f4c0 100644 --- a/src/shapes/polyline.class.js +++ b/src/shapes/polyline.class.js @@ -85,15 +85,24 @@ _setPositionDimensions: function(options) { options || (options = {}); var calcDim = this._calcDimensions(options), correctLeftTop, - correctSize = this.exactBoundingBox ? this.strokeWidth : 0; - this.width = calcDim.width - correctSize; - this.height = calcDim.height - correctSize; + correctSizeX = this.exactBoundingBox + ? this.strokeUniform + ? this.strokeWidth/this.scaleX + : this.strokeWidth + : 0, + correctSizeY = this.exactBoundingBox + ? this.strokeUniform + ? this.strokeWidth/this.scaleY + : this.strokeWidth + : 0; + this.width = calcDim.width - correctSizeX; + this.height = calcDim.height - correctSizeY; if (!options.fromSVG) { correctLeftTop = this.translateToGivenOrigin( { // this looks bad, but is one way to keep it optional for now. - x: calcDim.left - this.strokeWidth / 2 + correctSize / 2, - y: calcDim.top - this.strokeWidth / 2 + correctSize / 2 + x: calcDim.left - this.strokeWidth / 2 + correctSizeX / 2, + y: calcDim.top - this.strokeWidth / 2 + correctSizeY / 2 }, 'left', 'top', @@ -108,8 +117,8 @@ this.top = options.fromSVG ? calcDim.top : correctLeftTop.y; } this.pathOffset = { - x: calcDim.left + this.width / 2 + correctSize / 2, - y: calcDim.top + this.height / 2 + correctSize / 2 + x: calcDim.left + this.width / 2 + correctSizeX / 2, + y: calcDim.top + this.height / 2 + correctSizeY / 2 }; }, diff --git a/src/util/misc.js b/src/util/misc.js index 5e6592a6184..fe9d0187db5 100644 --- a/src/util/misc.js +++ b/src/util/misc.js @@ -213,9 +213,25 @@ }, /** - * Project stroke width on points returning 2 projections for each point as follows: + * @static + * @memberOf fabric.util + * @param {Point} vector + * @param {Boolean} counterClockwise the direction of the orthogonal vector + * @returns {Point} the unit orthogonal vector + */ + getOrthogonalUnitVector: function(vector, counterClockwise = true) { + return fabric.util.getHatVector( + new fabric.Point( + counterClockwise ? -vector.y : vector.y, + counterClockwise ? vector.x : -vector.x + ) + ) + }, + + /** + * Project stroke width on points returning projections for each point as follows: * - `miter`: 2 points corresponding to the outer boundary and the inner boundary of stroke. - * - `bevel`: 2 points corresponding to the bevel boundaries, tangent to the bisector. + * - `bevel`: 4 points corresponding to the bevel possible boundaries, orthogonal to the stroke. * - `round`: same as `bevel` * Used to calculate object's bounding box * @static @@ -234,50 +250,185 @@ projectStrokeOnPoints: function (points, options, openPath) { var coords = [], s = options.strokeWidth / 2, strokeUniformScalar = options.strokeUniform ? - new fabric.Point(1 / options.scaleX, 1 / options.scaleY) : new fabric.Point(1, 1), - getStrokeHatVector = function (v) { - var scalar = s / (Math.hypot(v.x, v.y)); - return new fabric.Point(v.x * scalar * strokeUniformScalar.x, v.y * scalar * strokeUniformScalar.y); - }; + new fabric.Point(1 / options.scaleX, 1 / options.scaleY) : new fabric.Point(1, 1); + if (points.length <= 1) {return coords;} + points.forEach(function (p, index) { var A = new fabric.Point(p.x, p.y), B, C; if (index === 0) { C = points[index + 1]; - B = openPath ? getStrokeHatVector(fabric.util.createVector(C, A)).addEquals(A) : points[points.length - 1]; + B = openPath ? A : points[points.length - 1]; } else if (index === points.length - 1) { B = points[index - 1]; - C = openPath ? getStrokeHatVector(fabric.util.createVector(B, A)).addEquals(A) : points[0]; + C = openPath ? A : points[0]; } else { B = points[index - 1]; C = points[index + 1]; } - var bisector = fabric.util.getBisector(A, B, C), - bisectorVector = bisector.vector, + + if (openPath && index === 0) { + var scaledA = new fabric.Point(A.x * options.scaleX, A.y * options.scaleY), + scaledC = new fabric.Point(C.x * options.scaleX, C.y * options.scaleY); + + var vector = fabric.util.createVector( + options.strokeUniform ? scaledA : A, + options.strokeUniform ? scaledC : C + ), + hatOrthogonalVector = fabric.util.getOrthogonalUnitVector(vector), + orthogonalVector = new fabric.Point( + hatOrthogonalVector.x * s * strokeUniformScalar.x, + hatOrthogonalVector.y * s * strokeUniformScalar.y + ); + + coords.push(A.add(orthogonalVector)); + coords.push(A.subtract(orthogonalVector)); + return; + } + + if (openPath && index === points.length - 1) { + var scaledA = new fabric.Point(A.x * options.scaleX, A.y * options.scaleY), + scaledB = new fabric.Point(B.x * options.scaleX, B.y * options.scaleY); + + var vector = fabric.util.createVector( + options.strokeUniform ? scaledA : A, + options.strokeUniform ? scaledB : B + ), + hatOrthogonalVector = fabric.util.getOrthogonalUnitVector(vector), + orthogonalVector = new fabric.Point( + hatOrthogonalVector.x * s * strokeUniformScalar.x, + hatOrthogonalVector.y * s * strokeUniformScalar.y + ); + + coords.push(A.add(orthogonalVector)); + coords.push(A.subtract(orthogonalVector)); + return; + } + + var bisector, + scaledA, + scaledB, + scaledC; + if (options.strokeUniform) { + scaledA = new fabric.Point(A.x * options.scaleX, A.y * options.scaleY); + scaledB = new fabric.Point(B.x * options.scaleX, B.y * options.scaleY); + scaledC = new fabric.Point(C.x * options.scaleX, C.y * options.scaleY); + + bisector = fabric.util.getBisector(scaledA, scaledB, scaledC); + } else { + bisector = fabric.util.getBisector(A, B, C); + } + + var bisectorVector = bisector.vector, alpha = bisector.angle, scalar, miterVector; + if (options.strokeLineJoin === 'miter') { scalar = -s / Math.sin(alpha / 2); + miterVector = new fabric.Point( bisectorVector.x * scalar * strokeUniformScalar.x, bisectorVector.y * scalar * strokeUniformScalar.y ); - if (Math.hypot(miterVector.x, miterVector.y) / s <= options.strokeMiterLimit) { + + var strokeMiterLimit; + if (options.strokeUniform) { + var miterLimitLenght = options.strokeMiterLimit * s, + miterLimitVector = new fabric.Point( + bisectorVector.x * miterLimitLenght * strokeUniformScalar.x, + bisectorVector.y * miterLimitLenght * strokeUniformScalar.y + ); + strokeMiterLimit = Math.hypot(miterLimitVector.x, miterLimitVector.y) / s; + strokeMiterLimit = Math.sqrt(miterLimitVector.x * miterLimitVector.x + miterLimitVector.y * miterLimitVector.y) / s; + } else { + strokeMiterLimit = options.strokeMiterLimit; + } + + if (Math.sqrt(miterVector.x * miterVector.x + miterVector.y * miterVector.y) / s <= strokeMiterLimit) { coords.push(A.add(miterVector)); coords.push(A.subtract(miterVector)); + return; + } + } + + if (options.strokeLineJoin === 'bevel' || options.strokeLineJoin === 'miter') { // miter greater than stroke miter limit + + var AB = fabric.util.createVector( + options.strokeUniform ? scaledA : A, + options.strokeUniform ? scaledB : B + ), + hatOrthogonalAB = fabric.util.getOrthogonalUnitVector(AB), + orthogonalAB = new fabric.Point( + hatOrthogonalAB.x * s * strokeUniformScalar.x, + hatOrthogonalAB.y * s * strokeUniformScalar.y + ); + + var AC = fabric.util.createVector( + options.strokeUniform ? scaledA : A, + options.strokeUniform ? scaledC : C + ), + hatOrthogonalAC = fabric.util.getOrthogonalUnitVector(AC), + orthogonalAC = new fabric.Point( + hatOrthogonalAC.x * s * strokeUniformScalar.x, + hatOrthogonalAC.y * s * strokeUniformScalar.y + ); + + + coords.push(A.add(orthogonalAB)); + coords.push(A.subtract(orthogonalAB)); + + coords.push(A.add(orthogonalAC)); + coords.push(A.subtract(orthogonalAC)); + + return; + } + + if (options.strokeLineJoin === 'round') { + + if (alpha > PiBy2) { + var AB = fabric.util.createVector( + options.strokeUniform ? scaledA : A, + options.strokeUniform ? scaledB : B + ), + hatOrthogonalAB = fabric.util.getOrthogonalUnitVector(AB) + orthogonalAB = new fabric.Point( + hatOrthogonalAB.x * s * strokeUniformScalar.x, + hatOrthogonalAB.y * s * strokeUniformScalar.y + ); + + var AC = fabric.util.createVector( + options.strokeUniform ? scaledA : A, + options.strokeUniform ? scaledC : C + ), + hatOrthogonalAC = fabric.util.getOrthogonalUnitVector(AC), + orthogonalAC = new fabric.Point( + hatOrthogonalAC.x * s * strokeUniformScalar.x, + hatOrthogonalAC.y * s * strokeUniformScalar.y + ) + + coords.push(A.add(orthogonalAB)); + coords.push(A.subtract(orthogonalAB)); + + coords.push(A.add(orthogonalAC)); + coords.push(A.subtract(orthogonalAC)); + return; } + + var radiusOnAxisX = new fabric.Point(s * strokeUniformScalar.x, 0), + radiusOnAxisY = new fabric.Point(0, s * strokeUniformScalar.y); + + coords.push(A.add(radiusOnAxisX)); + coords.push(A.subtract(radiusOnAxisX)); + + coords.push(A.add(radiusOnAxisY)); + coords.push(A.subtract(radiusOnAxisY)); + + return; } - scalar = -s * Math.SQRT2; - miterVector = new fabric.Point( - bisectorVector.x * scalar * strokeUniformScalar.x, - bisectorVector.y * scalar * strokeUniformScalar.y - ); - coords.push(A.add(miterVector)); - coords.push(A.subtract(miterVector)); }); return coords; }, From 37e4fac02bbe8fd0acc75594d0c1cbb9584afe14 Mon Sep 17 00:00:00 2001 From: Luiz Zappa Date: Tue, 26 Jul 2022 23:50:11 -0300 Subject: [PATCH 04/17] fix(calcAngleBetweenVectors): use atan2 instead of dot product --- src/util/misc.js | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/src/util/misc.js b/src/util/misc.js index fe9d0187db5..8c8a286f270 100644 --- a/src/util/misc.js +++ b/src/util/misc.js @@ -14,18 +14,6 @@ * @namespace fabric.util */ fabric.util = { - /** - * Calculate the arccosine of an angle, avoiding values outside [-1, 1] - * @static - * @memberOf fabric.util - * @param {Number} value the value of the cosine - * @return {Number} - */ - acos: function(value) { - var adjustedValue= Math.max(-1, Math.min(value, 1)); - return Math.acos(adjustedValue); - }, - /** * Calculate the cos of an angle, avoiding returning floats for known results * @static @@ -169,7 +157,7 @@ }, /** - * Calculates angle between 2 vectors using dot product + * Calculates angle between 2 vectors using atan2 * @static * @memberOf fabric.util * @param {Point} a @@ -177,9 +165,10 @@ * @returns the angle in radian between the vectors */ calcAngleBetweenVectors: function (a, b) { - return fabric.util.acos( - (a.x * b.x + a.y * b.y) / (Math.sqrt(a.x * a.x + a.y * a.y) * Math.sqrt(b.x * b.x + b.y * b.y)) - ); + var dot = a.x * b.x + a.y * b.y, + det = a.x * b.y - a.y * b.x; + + return Math.atan2(det, dot); }, /** @@ -203,12 +192,10 @@ getBisector: function (A, B, C) { var AB = fabric.util.createVector(A, B), AC = fabric.util.createVector(A, C); var alpha = fabric.util.calcAngleBetweenVectors(AB, AC); - // check if alpha is relative to AB->BC - var ro = fabric.util.calcAngleBetweenVectors(fabric.util.rotateVector(AB, alpha), AC); - var phi = alpha * (Math.abs(ro) <= 1e-7 ? 1 : -1) / 2; + var phi = alpha / 2; return { vector: fabric.util.getHatVector(fabric.util.rotateVector(AB, phi)), - angle: alpha + angle: Math.abs(alpha) }; }, From a9c8f35ff8ef8e3067c96e358156d8126133dada Mon Sep 17 00:00:00 2001 From: ShaMan123 Date: Wed, 27 Jul 2022 07:35:21 +0300 Subject: [PATCH 05/17] fix(): remove `Math.hypot` firefox is crazy enough to calculate this wrong --- src/util/misc.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/util/misc.js b/src/util/misc.js index 8c8a286f270..d574756680a 100644 --- a/src/util/misc.js +++ b/src/util/misc.js @@ -178,7 +178,8 @@ * @returns {Point} vector representing the unit vector of pointing to the direction of `v` */ getHatVector: function (v) { - return new fabric.Point(v.x, v.y).scalarMultiply(1 / Math.hypot(v.x, v.y)); + var hypot = Math.sqrt(v.x * v.x + v.y * v.y); + return new fabric.Point(v.x, v.y).scalarMultiply(1 / hypot); }, /** From 6cb36dc3eebd3a75cef205e61b28fcab3561e9bb Mon Sep 17 00:00:00 2001 From: ShaMan123 Date: Wed, 27 Jul 2022 07:48:38 +0300 Subject: [PATCH 06/17] Update misc.js --- src/util/misc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/util/misc.js b/src/util/misc.js index d574756680a..bdfd10f4158 100644 --- a/src/util/misc.js +++ b/src/util/misc.js @@ -175,7 +175,7 @@ * @static * @memberOf fabric.util * @param {Point} v - * @returns {Point} vector representing the unit vector of pointing to the direction of `v` + * @returns {Point} vector representing the unit vector pointing to the direction of `v` */ getHatVector: function (v) { var hypot = Math.sqrt(v.x * v.x + v.y * v.y); From d3773eda09691091afc43f5f002eca40aa075152 Mon Sep 17 00:00:00 2001 From: ShaMan123 Date: Wed, 27 Jul 2022 08:00:05 +0300 Subject: [PATCH 07/17] Update misc.js --- src/util/misc.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/util/misc.js b/src/util/misc.js index bdfd10f4158..fd46a7e8f6b 100644 --- a/src/util/misc.js +++ b/src/util/misc.js @@ -222,6 +222,9 @@ * - `bevel`: 4 points corresponding to the bevel possible boundaries, orthogonal to the stroke. * - `round`: same as `bevel` * Used to calculate object's bounding box + * + * @see https://github.com/fabricjs/fabric.js/pull/8083 + * * @static * @memberOf fabric.util * @param {Point[]} points From 426244dced41d8e9594f8df17462ac8f426c29f8 Mon Sep 17 00:00:00 2001 From: ShaMan123 Date: Wed, 27 Jul 2022 10:58:29 +0300 Subject: [PATCH 08/17] add test --- test/visual/generic_rendering.js | 58 ++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/test/visual/generic_rendering.js b/test/visual/generic_rendering.js index 9d17b981fde..aa17c002759 100644 --- a/test/visual/generic_rendering.js +++ b/test/visual/generic_rendering.js @@ -502,5 +502,63 @@ height: 100, }); + for (let angle = 0, step = 15; angle < 360; angle += step) { + [fabric.Polyline, fabric.Polygon].forEach((builder) => { + ['miter', 'round', 'bevel'].forEach((strokeLineJoin) => { + [true, false].forEach((strokeUniform) => { + tests.push({ + test: `bbox with strokeLineJoin=${strokeLineJoin}, strokeUniform=${strokeUniform} and angle=${angle} values`, + code: function (canvas, callback) { + var scale = new fabric.Point(4, 5); + var v = new fabric.Point(100, 0); + var v1 = fabric.util.rotateVector(v, fabric.util.degreesToRadians(angle)); + var A = canvas.getVpCenter(); + var B = A.subtract(v); + var C = A.subtract(v1); + var poly = new builder([B, A, C], { + fill: `rgb(255, 0, 0)`, + strokeWidth: 10, + stroke: 'rgb(120, 0, 0)', + cornerColor: 'white', + strokeUniform: strokeUniform, + strokeLineJoin: strokeLineJoin, + objectCaching: false, + exactBoundingBox: true + }); + poly.scaleX = scale.x; + poly.scaleY = scale.y; + poly._setPositionDimensions(); + var size = poly._getTransformedDimensions(); + var bg = new fabric.Rect({ + width: size.x, + height: size.y, + left: poly.left, + top: poly.top, + originX: poly.originX, + originY: poly.originY, + fill: 'blue' + }); + canvas.add(bg, poly); + canvas.setActiveObject(poly); + canvas.setViewportTransform([0.5, 0, 0, 1.5, 0, 0]); + bg.viewportCenter(); + poly.viewportCenter(); + canvas.backgroundColor = 'white'; + canvas.renderAll(); + callback(canvas.lowerCanvasEl); + }, + golden: `stroke-projection/${strokeLineJoin}/${strokeUniform ? 'uniform-' : ''}${builder.prototype.type}-${angle}deg.png`, + percentage: 0.001, + width: 600, + height: 900, + fabricClass: 'Canvas', + newModule: 'stroke projection' + }); + }); + }); + }); + } + + tests.forEach(visualTestLoop(QUnit)); })(); From 645139197dd02e252802268cac47ad8048579fbc Mon Sep 17 00:00:00 2001 From: ShaMan123 Date: Wed, 27 Jul 2022 11:11:07 +0300 Subject: [PATCH 09/17] goldens --- .../stroke-projection/bevel/polygon-0deg.png | Bin 0 -> 4735 bytes .../stroke-projection/bevel/polygon-105deg.png | Bin 0 -> 18133 bytes .../stroke-projection/bevel/polygon-120deg.png | Bin 0 -> 16731 bytes .../stroke-projection/bevel/polygon-135deg.png | Bin 0 -> 18997 bytes .../stroke-projection/bevel/polygon-150deg.png | Bin 0 -> 14326 bytes .../stroke-projection/bevel/polygon-15deg.png | Bin 0 -> 9402 bytes .../stroke-projection/bevel/polygon-165deg.png | Bin 0 -> 11089 bytes .../stroke-projection/bevel/polygon-180deg.png | Bin 0 -> 4741 bytes .../stroke-projection/bevel/polygon-195deg.png | Bin 0 -> 11571 bytes .../stroke-projection/bevel/polygon-210deg.png | Bin 0 -> 14338 bytes .../stroke-projection/bevel/polygon-225deg.png | Bin 0 -> 19032 bytes .../stroke-projection/bevel/polygon-240deg.png | Bin 0 -> 16618 bytes .../stroke-projection/bevel/polygon-255deg.png | Bin 0 -> 18135 bytes .../stroke-projection/bevel/polygon-270deg.png | Bin 0 -> 12906 bytes .../stroke-projection/bevel/polygon-285deg.png | Bin 0 -> 15891 bytes .../stroke-projection/bevel/polygon-300deg.png | Bin 0 -> 12612 bytes .../stroke-projection/bevel/polygon-30deg.png | Bin 0 -> 12702 bytes .../stroke-projection/bevel/polygon-315deg.png | Bin 0 -> 14141 bytes .../stroke-projection/bevel/polygon-330deg.png | Bin 0 -> 12519 bytes .../stroke-projection/bevel/polygon-345deg.png | Bin 0 -> 9294 bytes .../stroke-projection/bevel/polygon-45deg.png | Bin 0 -> 14244 bytes .../stroke-projection/bevel/polygon-60deg.png | Bin 0 -> 12728 bytes .../stroke-projection/bevel/polygon-75deg.png | Bin 0 -> 15953 bytes .../stroke-projection/bevel/polygon-90deg.png | Bin 0 -> 12955 bytes .../stroke-projection/bevel/polyline-0deg.png | Bin 0 -> 4735 bytes .../stroke-projection/bevel/polyline-105deg.png | Bin 0 -> 15641 bytes .../stroke-projection/bevel/polyline-120deg.png | Bin 0 -> 14263 bytes .../stroke-projection/bevel/polyline-135deg.png | Bin 0 -> 16297 bytes .../stroke-projection/bevel/polyline-150deg.png | Bin 0 -> 13245 bytes .../stroke-projection/bevel/polyline-15deg.png | Bin 0 -> 8928 bytes .../stroke-projection/bevel/polyline-165deg.png | Bin 0 -> 10345 bytes .../stroke-projection/bevel/polyline-180deg.png | Bin 0 -> 4741 bytes .../stroke-projection/bevel/polyline-195deg.png | Bin 0 -> 10614 bytes .../stroke-projection/bevel/polyline-210deg.png | Bin 0 -> 13151 bytes .../stroke-projection/bevel/polyline-225deg.png | Bin 0 -> 16307 bytes .../stroke-projection/bevel/polyline-240deg.png | Bin 0 -> 14072 bytes .../stroke-projection/bevel/polyline-255deg.png | Bin 0 -> 15528 bytes .../stroke-projection/bevel/polyline-270deg.png | Bin 0 -> 9579 bytes .../stroke-projection/bevel/polyline-285deg.png | Bin 0 -> 13570 bytes .../stroke-projection/bevel/polyline-300deg.png | Bin 0 -> 11854 bytes .../stroke-projection/bevel/polyline-30deg.png | Bin 0 -> 11665 bytes .../stroke-projection/bevel/polyline-315deg.png | Bin 0 -> 13045 bytes .../stroke-projection/bevel/polyline-330deg.png | Bin 0 -> 11506 bytes .../stroke-projection/bevel/polyline-345deg.png | Bin 0 -> 8748 bytes .../stroke-projection/bevel/polyline-45deg.png | Bin 0 -> 13186 bytes .../stroke-projection/bevel/polyline-60deg.png | Bin 0 -> 12050 bytes .../stroke-projection/bevel/polyline-75deg.png | Bin 0 -> 13663 bytes .../stroke-projection/bevel/polyline-90deg.png | Bin 0 -> 9573 bytes .../bevel/uniform-polygon-0deg.png | Bin 0 -> 4628 bytes .../bevel/uniform-polygon-105deg.png | Bin 0 -> 17619 bytes .../bevel/uniform-polygon-120deg.png | Bin 0 -> 16692 bytes .../bevel/uniform-polygon-135deg.png | Bin 0 -> 19196 bytes .../bevel/uniform-polygon-150deg.png | Bin 0 -> 14134 bytes .../bevel/uniform-polygon-15deg.png | Bin 0 -> 8804 bytes .../bevel/uniform-polygon-165deg.png | Bin 0 -> 11598 bytes .../bevel/uniform-polygon-180deg.png | Bin 0 -> 4634 bytes .../bevel/uniform-polygon-195deg.png | Bin 0 -> 12352 bytes .../bevel/uniform-polygon-210deg.png | Bin 0 -> 14098 bytes .../bevel/uniform-polygon-225deg.png | Bin 0 -> 19141 bytes .../bevel/uniform-polygon-240deg.png | Bin 0 -> 16695 bytes .../bevel/uniform-polygon-255deg.png | Bin 0 -> 17558 bytes .../bevel/uniform-polygon-270deg.png | Bin 0 -> 12693 bytes .../bevel/uniform-polygon-285deg.png | Bin 0 -> 15298 bytes .../bevel/uniform-polygon-300deg.png | Bin 0 -> 13373 bytes .../bevel/uniform-polygon-30deg.png | Bin 0 -> 11957 bytes .../bevel/uniform-polygon-315deg.png | Bin 0 -> 14357 bytes .../bevel/uniform-polygon-330deg.png | Bin 0 -> 11781 bytes .../bevel/uniform-polygon-345deg.png | Bin 0 -> 8665 bytes .../bevel/uniform-polygon-45deg.png | Bin 0 -> 14576 bytes .../bevel/uniform-polygon-60deg.png | Bin 0 -> 13598 bytes .../bevel/uniform-polygon-75deg.png | Bin 0 -> 15443 bytes .../bevel/uniform-polygon-90deg.png | Bin 0 -> 12707 bytes .../bevel/uniform-polyline-0deg.png | Bin 0 -> 4628 bytes .../bevel/uniform-polyline-105deg.png | Bin 0 -> 14806 bytes .../bevel/uniform-polyline-120deg.png | Bin 0 -> 14683 bytes .../bevel/uniform-polyline-135deg.png | Bin 0 -> 16240 bytes .../bevel/uniform-polyline-150deg.png | Bin 0 -> 13066 bytes .../bevel/uniform-polyline-15deg.png | Bin 0 -> 8487 bytes .../bevel/uniform-polyline-165deg.png | Bin 0 -> 10348 bytes .../bevel/uniform-polyline-180deg.png | Bin 0 -> 4634 bytes .../bevel/uniform-polyline-195deg.png | Bin 0 -> 10706 bytes .../bevel/uniform-polyline-210deg.png | Bin 0 -> 13042 bytes .../bevel/uniform-polyline-225deg.png | Bin 0 -> 16199 bytes .../bevel/uniform-polyline-240deg.png | Bin 0 -> 14599 bytes .../bevel/uniform-polyline-255deg.png | Bin 0 -> 14795 bytes .../bevel/uniform-polyline-270deg.png | Bin 0 -> 10141 bytes .../bevel/uniform-polyline-285deg.png | Bin 0 -> 13526 bytes .../bevel/uniform-polyline-300deg.png | Bin 0 -> 12061 bytes .../bevel/uniform-polyline-30deg.png | Bin 0 -> 11439 bytes .../bevel/uniform-polyline-315deg.png | Bin 0 -> 13021 bytes .../bevel/uniform-polyline-330deg.png | Bin 0 -> 11337 bytes .../bevel/uniform-polyline-345deg.png | Bin 0 -> 8417 bytes .../bevel/uniform-polyline-45deg.png | Bin 0 -> 13195 bytes .../bevel/uniform-polyline-60deg.png | Bin 0 -> 12268 bytes .../bevel/uniform-polyline-75deg.png | Bin 0 -> 13638 bytes .../bevel/uniform-polyline-90deg.png | Bin 0 -> 10127 bytes .../stroke-projection/miter/polygon-0deg.png | Bin 0 -> 4732 bytes .../stroke-projection/miter/polygon-105deg.png | Bin 0 -> 18125 bytes .../stroke-projection/miter/polygon-120deg.png | Bin 0 -> 16955 bytes .../stroke-projection/miter/polygon-135deg.png | Bin 0 -> 19560 bytes .../stroke-projection/miter/polygon-150deg.png | Bin 0 -> 14749 bytes .../stroke-projection/miter/polygon-15deg.png | Bin 0 -> 9591 bytes .../stroke-projection/miter/polygon-165deg.png | Bin 0 -> 11069 bytes .../stroke-projection/miter/polygon-180deg.png | Bin 0 -> 4738 bytes .../stroke-projection/miter/polygon-195deg.png | Bin 0 -> 11561 bytes .../stroke-projection/miter/polygon-210deg.png | Bin 0 -> 14819 bytes .../stroke-projection/miter/polygon-225deg.png | Bin 0 -> 19598 bytes .../stroke-projection/miter/polygon-240deg.png | Bin 0 -> 16859 bytes .../stroke-projection/miter/polygon-255deg.png | Bin 0 -> 18008 bytes .../stroke-projection/miter/polygon-270deg.png | Bin 0 -> 12505 bytes .../stroke-projection/miter/polygon-285deg.png | Bin 0 -> 16096 bytes .../stroke-projection/miter/polygon-300deg.png | Bin 0 -> 12217 bytes .../stroke-projection/miter/polygon-30deg.png | Bin 0 -> 12789 bytes .../stroke-projection/miter/polygon-315deg.png | Bin 0 -> 14249 bytes .../stroke-projection/miter/polygon-330deg.png | Bin 0 -> 12684 bytes .../stroke-projection/miter/polygon-345deg.png | Bin 0 -> 9399 bytes .../stroke-projection/miter/polygon-45deg.png | Bin 0 -> 14499 bytes .../stroke-projection/miter/polygon-60deg.png | Bin 0 -> 12480 bytes .../stroke-projection/miter/polygon-75deg.png | Bin 0 -> 16160 bytes .../stroke-projection/miter/polygon-90deg.png | Bin 0 -> 12422 bytes .../stroke-projection/miter/polyline-0deg.png | Bin 0 -> 4732 bytes .../stroke-projection/miter/polyline-105deg.png | Bin 0 -> 15541 bytes .../stroke-projection/miter/polyline-120deg.png | Bin 0 -> 14182 bytes .../stroke-projection/miter/polyline-135deg.png | Bin 0 -> 16265 bytes .../stroke-projection/miter/polyline-150deg.png | Bin 0 -> 13231 bytes .../stroke-projection/miter/polyline-15deg.png | Bin 0 -> 9476 bytes .../stroke-projection/miter/polyline-165deg.png | Bin 0 -> 10335 bytes .../stroke-projection/miter/polyline-180deg.png | Bin 0 -> 4738 bytes .../stroke-projection/miter/polyline-195deg.png | Bin 0 -> 10586 bytes .../stroke-projection/miter/polyline-210deg.png | Bin 0 -> 13138 bytes .../stroke-projection/miter/polyline-225deg.png | Bin 0 -> 16275 bytes .../stroke-projection/miter/polyline-240deg.png | Bin 0 -> 13970 bytes .../stroke-projection/miter/polyline-255deg.png | Bin 0 -> 15384 bytes .../stroke-projection/miter/polyline-270deg.png | Bin 0 -> 9253 bytes .../stroke-projection/miter/polyline-285deg.png | Bin 0 -> 13909 bytes .../stroke-projection/miter/polyline-300deg.png | Bin 0 -> 11773 bytes .../stroke-projection/miter/polyline-30deg.png | Bin 0 -> 11923 bytes .../stroke-projection/miter/polyline-315deg.png | Bin 0 -> 13234 bytes .../stroke-projection/miter/polyline-330deg.png | Bin 0 -> 11725 bytes .../stroke-projection/miter/polyline-345deg.png | Bin 0 -> 9276 bytes .../stroke-projection/miter/polyline-45deg.png | Bin 0 -> 13403 bytes .../stroke-projection/miter/polyline-60deg.png | Bin 0 -> 11946 bytes .../stroke-projection/miter/polyline-75deg.png | Bin 0 -> 14080 bytes .../stroke-projection/miter/polyline-90deg.png | Bin 0 -> 9263 bytes .../miter/uniform-polygon-0deg.png | Bin 0 -> 4628 bytes .../miter/uniform-polygon-105deg.png | Bin 0 -> 17839 bytes .../miter/uniform-polygon-120deg.png | Bin 0 -> 16489 bytes .../miter/uniform-polygon-135deg.png | Bin 0 -> 19290 bytes .../miter/uniform-polygon-150deg.png | Bin 0 -> 14276 bytes .../miter/uniform-polygon-15deg.png | Bin 0 -> 8761 bytes .../miter/uniform-polygon-165deg.png | Bin 0 -> 11586 bytes .../miter/uniform-polygon-180deg.png | Bin 0 -> 4634 bytes .../miter/uniform-polygon-195deg.png | Bin 0 -> 12338 bytes .../miter/uniform-polygon-210deg.png | Bin 0 -> 14286 bytes .../miter/uniform-polygon-225deg.png | Bin 0 -> 19256 bytes .../miter/uniform-polygon-240deg.png | Bin 0 -> 16379 bytes .../miter/uniform-polygon-255deg.png | Bin 0 -> 17761 bytes .../miter/uniform-polygon-270deg.png | Bin 0 -> 12751 bytes .../miter/uniform-polygon-285deg.png | Bin 0 -> 15124 bytes .../miter/uniform-polygon-300deg.png | Bin 0 -> 13190 bytes .../miter/uniform-polygon-30deg.png | Bin 0 -> 12056 bytes .../miter/uniform-polygon-315deg.png | Bin 0 -> 14291 bytes .../miter/uniform-polygon-330deg.png | Bin 0 -> 11857 bytes .../miter/uniform-polygon-345deg.png | Bin 0 -> 8645 bytes .../miter/uniform-polygon-45deg.png | Bin 0 -> 14396 bytes .../miter/uniform-polygon-60deg.png | Bin 0 -> 13378 bytes .../miter/uniform-polygon-75deg.png | Bin 0 -> 15238 bytes .../miter/uniform-polygon-90deg.png | Bin 0 -> 12640 bytes .../miter/uniform-polyline-0deg.png | Bin 0 -> 4628 bytes .../miter/uniform-polyline-105deg.png | Bin 0 -> 14815 bytes .../miter/uniform-polyline-120deg.png | Bin 0 -> 14618 bytes .../miter/uniform-polyline-135deg.png | Bin 0 -> 16248 bytes .../miter/uniform-polyline-150deg.png | Bin 0 -> 13040 bytes .../miter/uniform-polyline-15deg.png | Bin 0 -> 8659 bytes .../miter/uniform-polyline-165deg.png | Bin 0 -> 10349 bytes .../miter/uniform-polyline-180deg.png | Bin 0 -> 4634 bytes .../miter/uniform-polyline-195deg.png | Bin 0 -> 10704 bytes .../miter/uniform-polyline-210deg.png | Bin 0 -> 13058 bytes .../miter/uniform-polyline-225deg.png | Bin 0 -> 16185 bytes .../miter/uniform-polyline-240deg.png | Bin 0 -> 14521 bytes .../miter/uniform-polyline-255deg.png | Bin 0 -> 14765 bytes .../miter/uniform-polyline-270deg.png | Bin 0 -> 10099 bytes .../miter/uniform-polyline-285deg.png | Bin 0 -> 13343 bytes .../miter/uniform-polyline-300deg.png | Bin 0 -> 11986 bytes .../miter/uniform-polyline-30deg.png | Bin 0 -> 11436 bytes .../miter/uniform-polyline-315deg.png | Bin 0 -> 12957 bytes .../miter/uniform-polyline-330deg.png | Bin 0 -> 11300 bytes .../miter/uniform-polyline-345deg.png | Bin 0 -> 8594 bytes .../miter/uniform-polyline-45deg.png | Bin 0 -> 13177 bytes .../miter/uniform-polyline-60deg.png | Bin 0 -> 12218 bytes .../miter/uniform-polyline-75deg.png | Bin 0 -> 13403 bytes .../miter/uniform-polyline-90deg.png | Bin 0 -> 10076 bytes .../stroke-projection/round/polygon-0deg.png | Bin 0 -> 6041 bytes .../stroke-projection/round/polygon-105deg.png | Bin 0 -> 18307 bytes .../stroke-projection/round/polygon-120deg.png | Bin 0 -> 16931 bytes .../stroke-projection/round/polygon-135deg.png | Bin 0 -> 19366 bytes .../stroke-projection/round/polygon-150deg.png | Bin 0 -> 14663 bytes .../stroke-projection/round/polygon-15deg.png | Bin 0 -> 9437 bytes .../stroke-projection/round/polygon-165deg.png | Bin 0 -> 11593 bytes .../stroke-projection/round/polygon-180deg.png | Bin 0 -> 6051 bytes .../stroke-projection/round/polygon-195deg.png | Bin 0 -> 12160 bytes .../stroke-projection/round/polygon-210deg.png | Bin 0 -> 14598 bytes .../stroke-projection/round/polygon-225deg.png | Bin 0 -> 19352 bytes .../stroke-projection/round/polygon-240deg.png | Bin 0 -> 16874 bytes .../stroke-projection/round/polygon-255deg.png | Bin 0 -> 18296 bytes .../stroke-projection/round/polygon-270deg.png | Bin 0 -> 13310 bytes .../stroke-projection/round/polygon-285deg.png | Bin 0 -> 16277 bytes .../stroke-projection/round/polygon-300deg.png | Bin 0 -> 12853 bytes .../stroke-projection/round/polygon-30deg.png | Bin 0 -> 12649 bytes .../stroke-projection/round/polygon-315deg.png | Bin 0 -> 14206 bytes .../stroke-projection/round/polygon-330deg.png | Bin 0 -> 12355 bytes .../stroke-projection/round/polygon-345deg.png | Bin 0 -> 9340 bytes .../stroke-projection/round/polygon-45deg.png | Bin 0 -> 14350 bytes .../stroke-projection/round/polygon-60deg.png | Bin 0 -> 12995 bytes .../stroke-projection/round/polygon-75deg.png | Bin 0 -> 16333 bytes .../stroke-projection/round/polygon-90deg.png | Bin 0 -> 13229 bytes .../stroke-projection/round/polyline-0deg.png | Bin 0 -> 5448 bytes .../stroke-projection/round/polyline-105deg.png | Bin 0 -> 15653 bytes .../stroke-projection/round/polyline-120deg.png | Bin 0 -> 14251 bytes .../stroke-projection/round/polyline-135deg.png | Bin 0 -> 16287 bytes .../stroke-projection/round/polyline-150deg.png | Bin 0 -> 13239 bytes .../stroke-projection/round/polyline-15deg.png | Bin 0 -> 8896 bytes .../stroke-projection/round/polyline-165deg.png | Bin 0 -> 10345 bytes .../stroke-projection/round/polyline-180deg.png | Bin 0 -> 4741 bytes .../stroke-projection/round/polyline-195deg.png | Bin 0 -> 10610 bytes .../stroke-projection/round/polyline-210deg.png | Bin 0 -> 13150 bytes .../stroke-projection/round/polyline-225deg.png | Bin 0 -> 16304 bytes .../stroke-projection/round/polyline-240deg.png | Bin 0 -> 14076 bytes .../stroke-projection/round/polyline-255deg.png | Bin 0 -> 15531 bytes .../stroke-projection/round/polyline-270deg.png | Bin 0 -> 9606 bytes .../stroke-projection/round/polyline-285deg.png | Bin 0 -> 13912 bytes .../stroke-projection/round/polyline-300deg.png | Bin 0 -> 11648 bytes .../stroke-projection/round/polyline-30deg.png | Bin 0 -> 11576 bytes .../stroke-projection/round/polyline-315deg.png | Bin 0 -> 12729 bytes .../stroke-projection/round/polyline-330deg.png | Bin 0 -> 11383 bytes .../stroke-projection/round/polyline-345deg.png | Bin 0 -> 8683 bytes .../stroke-projection/round/polyline-45deg.png | Bin 0 -> 12852 bytes .../stroke-projection/round/polyline-60deg.png | Bin 0 -> 11817 bytes .../stroke-projection/round/polyline-75deg.png | Bin 0 -> 13955 bytes .../stroke-projection/round/polyline-90deg.png | Bin 0 -> 9607 bytes .../round/uniform-polygon-0deg.png | Bin 0 -> 4996 bytes .../round/uniform-polygon-105deg.png | Bin 0 -> 17748 bytes .../round/uniform-polygon-120deg.png | Bin 0 -> 16897 bytes .../round/uniform-polygon-135deg.png | Bin 0 -> 19262 bytes .../round/uniform-polygon-150deg.png | Bin 0 -> 13950 bytes .../round/uniform-polygon-15deg.png | Bin 0 -> 8697 bytes .../round/uniform-polygon-165deg.png | Bin 0 -> 11611 bytes .../round/uniform-polygon-180deg.png | Bin 0 -> 4993 bytes .../round/uniform-polygon-195deg.png | Bin 0 -> 12369 bytes .../round/uniform-polygon-210deg.png | Bin 0 -> 13929 bytes .../round/uniform-polygon-225deg.png | Bin 0 -> 19235 bytes .../round/uniform-polygon-240deg.png | Bin 0 -> 16805 bytes .../round/uniform-polygon-255deg.png | Bin 0 -> 17701 bytes .../round/uniform-polygon-270deg.png | Bin 0 -> 12577 bytes .../round/uniform-polygon-285deg.png | Bin 0 -> 15290 bytes .../round/uniform-polygon-300deg.png | Bin 0 -> 13284 bytes .../round/uniform-polygon-30deg.png | Bin 0 -> 11929 bytes .../round/uniform-polygon-315deg.png | Bin 0 -> 14207 bytes .../round/uniform-polygon-330deg.png | Bin 0 -> 11611 bytes .../round/uniform-polygon-345deg.png | Bin 0 -> 8640 bytes .../round/uniform-polygon-45deg.png | Bin 0 -> 14406 bytes .../round/uniform-polygon-60deg.png | Bin 0 -> 13455 bytes .../round/uniform-polygon-75deg.png | Bin 0 -> 15441 bytes .../round/uniform-polygon-90deg.png | Bin 0 -> 12621 bytes .../round/uniform-polyline-0deg.png | Bin 0 -> 4998 bytes .../round/uniform-polyline-105deg.png | Bin 0 -> 14797 bytes .../round/uniform-polyline-120deg.png | Bin 0 -> 14683 bytes .../round/uniform-polyline-135deg.png | Bin 0 -> 16237 bytes .../round/uniform-polyline-150deg.png | Bin 0 -> 13065 bytes .../round/uniform-polyline-15deg.png | Bin 0 -> 8521 bytes .../round/uniform-polyline-165deg.png | Bin 0 -> 10349 bytes .../round/uniform-polyline-180deg.png | Bin 0 -> 4634 bytes .../round/uniform-polyline-195deg.png | Bin 0 -> 10708 bytes .../round/uniform-polyline-210deg.png | Bin 0 -> 13047 bytes .../round/uniform-polyline-225deg.png | Bin 0 -> 16194 bytes .../round/uniform-polyline-240deg.png | Bin 0 -> 14596 bytes .../round/uniform-polyline-255deg.png | Bin 0 -> 14777 bytes .../round/uniform-polyline-270deg.png | Bin 0 -> 10125 bytes .../round/uniform-polyline-285deg.png | Bin 0 -> 13415 bytes .../round/uniform-polyline-300deg.png | Bin 0 -> 12094 bytes .../round/uniform-polyline-30deg.png | Bin 0 -> 11509 bytes .../round/uniform-polyline-315deg.png | Bin 0 -> 13228 bytes .../round/uniform-polyline-330deg.png | Bin 0 -> 11396 bytes .../round/uniform-polyline-345deg.png | Bin 0 -> 8463 bytes .../round/uniform-polyline-45deg.png | Bin 0 -> 13336 bytes .../round/uniform-polyline-60deg.png | Bin 0 -> 12328 bytes .../round/uniform-polyline-75deg.png | Bin 0 -> 13506 bytes .../round/uniform-polyline-90deg.png | Bin 0 -> 10111 bytes 288 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-0deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-105deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-120deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-135deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-150deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-15deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-165deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-180deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-195deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-210deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-225deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-240deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-255deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-270deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-285deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-300deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-30deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-315deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-330deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-345deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-45deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-60deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-75deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polygon-90deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-0deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-105deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-120deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-135deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-150deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-15deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-165deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-180deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-195deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-210deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-225deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-240deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-255deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-270deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-285deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-300deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-30deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-315deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-330deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-345deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-45deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-60deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-75deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/polyline-90deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-0deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-105deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-120deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-135deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-150deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-15deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-165deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-180deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-195deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-210deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-225deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-240deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-255deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-270deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-285deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-300deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-30deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-315deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-330deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-345deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-45deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-60deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-75deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polygon-90deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-0deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-105deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-120deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-135deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-150deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-15deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-165deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-180deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-195deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-210deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-225deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-240deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-255deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-270deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-285deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-300deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-30deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-315deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-330deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-345deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-45deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-60deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-75deg.png create mode 100644 test/visual/golden/stroke-projection/bevel/uniform-polyline-90deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-0deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-105deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-120deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-135deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-150deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-15deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-165deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-180deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-195deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-210deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-225deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-240deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-255deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-270deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-285deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-300deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-30deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-315deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-330deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-345deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-45deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-60deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-75deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polygon-90deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-0deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-105deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-120deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-135deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-150deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-15deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-165deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-180deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-195deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-210deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-225deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-240deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-255deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-270deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-285deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-300deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-30deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-315deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-330deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-345deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-45deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-60deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-75deg.png create mode 100644 test/visual/golden/stroke-projection/miter/polyline-90deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-0deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-105deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-120deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-135deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-150deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-15deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-165deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-180deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-195deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-210deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-225deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-240deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-255deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-270deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-285deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-300deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-30deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-315deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-330deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-345deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-45deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-60deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-75deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polygon-90deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-0deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-105deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-120deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-135deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-150deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-15deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-165deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-180deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-195deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-210deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-225deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-240deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-255deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-270deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-285deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-300deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-30deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-315deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-330deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-345deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-45deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-60deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-75deg.png create mode 100644 test/visual/golden/stroke-projection/miter/uniform-polyline-90deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-0deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-105deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-120deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-135deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-150deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-15deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-165deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-180deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-195deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-210deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-225deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-240deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-255deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-270deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-285deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-300deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-30deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-315deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-330deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-345deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-45deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-60deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-75deg.png create mode 100644 test/visual/golden/stroke-projection/round/polygon-90deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-0deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-105deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-120deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-135deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-150deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-15deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-165deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-180deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-195deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-210deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-225deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-240deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-255deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-270deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-285deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-300deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-30deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-315deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-330deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-345deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-45deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-60deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-75deg.png create mode 100644 test/visual/golden/stroke-projection/round/polyline-90deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-0deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-105deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-120deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-135deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-150deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-15deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-165deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-180deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-195deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-210deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-225deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-240deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-255deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-270deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-285deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-300deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-30deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-315deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-330deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-345deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-45deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-60deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-75deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polygon-90deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-0deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-105deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-120deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-135deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-150deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-15deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-165deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-180deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-195deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-210deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-225deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-240deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-255deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-270deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-285deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-300deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-30deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-315deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-330deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-345deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-45deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-60deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-75deg.png create mode 100644 test/visual/golden/stroke-projection/round/uniform-polyline-90deg.png diff --git a/test/visual/golden/stroke-projection/bevel/polygon-0deg.png b/test/visual/golden/stroke-projection/bevel/polygon-0deg.png new file mode 100644 index 0000000000000000000000000000000000000000..b5d5a298369f5639586a07d90261f44e1c4707fc GIT binary patch literal 4735 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 R6*>^uyT|0`yxmm#{{kX@!^i*t literal 0 HcmV?d00001 diff --git a/test/visual/golden/stroke-projection/bevel/polygon-135deg.png b/test/visual/golden/stroke-projection/bevel/polygon-135deg.png new file mode 100644 index 0000000000000000000000000000000000000000..44325d869d5aff1e6dac1cce9475eccae008f529 GIT binary patch literal 18997 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 K9-;k0jQKxm{GDWy^9ck!55jb?fGqDbvVE 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 literal 0 HcmV?d00001 diff --git a/test/visual/golden/stroke-projection/bevel/polygon-165deg.png b/test/visual/golden/stroke-projection/bevel/polygon-165deg.png new file mode 100644 index 0000000000000000000000000000000000000000..257c449da7303a61eebeb724ef4b3d723109b6f1 GIT binary patch literal 11089 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 a(|g~P^*6pJHh?#>5W7>3Cn?8qss9U@|Jud? literal 0 HcmV?d00001 diff --git a/test/visual/golden/stroke-projection/bevel/polygon-180deg.png b/test/visual/golden/stroke-projection/bevel/polygon-180deg.png new file mode 100644 index 0000000000000000000000000000000000000000..fad8c805675dcd2c26765263ef6673b69b14bbdd GIT binary patch literal 4741 zcmeAS@N?(olHy`uVBq!ia0y~yV2WU1U~b`H1B%qX^|t|1Y)RhkE)4%caKYZ?lNlI< ztUO&DLn`LHy=&V&C0wH6q46RiW}&9&jw3B1NrFxsUR=Rh+5h^dF5ATaQ&ux6Q)jDy zZg7i3mx!W(b$1QNK20+P!_AXZcg!q5wo@-+TgB|<6@B-r)5_BfeJ`6ZFr1h(qnd%C z!MyhX6GI254nxC?QO0N>jHZOqTripoMsopub3xf5{{1p_jBl74Ss4U`fmNd+3d7p+ zI|IY*DREbPodjx~=s;8*eO&xhZZ=8*^Z3Yw8U5$$u?&9{%|Iee#@&w|O6brO)p_e&1$Jy1|VFrDb=2CdBL9{yJU%xJ7YVk9T~H z-iB=*(ra{!-oKRSU#B$=Z+uco;|nu>YaqQ9qjRSmftxx z2)=%^3+U_(uXi85ZIUxFH2*RK!|ICJZEqj3A)5y`n5vBK%vsBJwm+!I(-kZ3XE@OF z?w5Xb`kXn{3~@WZm-M)YPj{c<%z8k={r`sAw zY^+XgS^2DEYma_P|DYC$B^hAG*u7;60RZdx&Ach^)H99tir-?RUpRPs&v&ON_h_MYWuHI9H-@p`wNZ}J>F+haeQXR;+} zHg0v*n=AkL%lza&ACG@JQ1yQ9+4C&L$ZGd|y(S?)XMVcew9j^+?6v+D6Www*9SV?9 tE9g^DkB0MTIFFVaqq$(@<$`}~r*0i8;4@f0A2_bW;OXk;vd$@?2>^O-Ij8^t literal 0 HcmV?d00001 diff --git a/test/visual/golden/stroke-projection/bevel/polygon-195deg.png b/test/visual/golden/stroke-projection/bevel/polygon-195deg.png new file mode 100644 index 0000000000000000000000000000000000000000..003310322267a616aeed1fe082cc5df06c662a8e GIT binary patch literal 11571 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 literal 0 HcmV?d00001 diff --git a/test/visual/golden/stroke-projection/bevel/polygon-225deg.png b/test/visual/golden/stroke-projection/bevel/polygon-225deg.png new file mode 100644 index 0000000000000000000000000000000000000000..d1e3472eb219d1eddb5c65035feada21b1d0e1b5 GIT binary patch literal 19032 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 AsQ>@~ literal 0 HcmV?d00001 diff --git a/test/visual/golden/stroke-projection/bevel/polygon-255deg.png b/test/visual/golden/stroke-projection/bevel/polygon-255deg.png new file mode 100644 index 0000000000000000000000000000000000000000..a88e4d64b56c03a1abb707ee1f14d46998c35aa7 GIT binary patch literal 18135 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
aZ`3GQxx*SXYuu}6b?}$0j1T~JGp_hv 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 literal 0 HcmV?d00001 diff --git a/test/visual/golden/stroke-projection/bevel/polygon-270deg.png b/test/visual/golden/stroke-projection/bevel/polygon-270deg.png new file mode 100644 index 0000000000000000000000000000000000000000..94d0b7422ab94328ed13a4674e9060774219dfd8 GIT binary patch literal 12906 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 literal 0 HcmV?d00001 diff --git a/test/visual/golden/stroke-projection/bevel/polygon-285deg.png b/test/visual/golden/stroke-projection/bevel/polygon-285deg.png new file mode 100644 index 0000000000000000000000000000000000000000..a4916c8aa4fc59ea824edbbb09b507cba72edf96 GIT binary patch literal 15891 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 literal 0 HcmV?d00001 diff --git a/test/visual/golden/stroke-projection/bevel/polygon-30deg.png b/test/visual/golden/stroke-projection/bevel/polygon-30deg.png new file mode 100644 index 0000000000000000000000000000000000000000..887a37797e9604823648d68cab4610e779645898 GIT binary patch literal 12702 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 literal 0 HcmV?d00001 diff --git a/test/visual/golden/stroke-projection/bevel/polygon-330deg.png b/test/visual/golden/stroke-projection/bevel/polygon-330deg.png new file mode 100644 index 0000000000000000000000000000000000000000..6f6771c1bb8588c809aab14e088107fca9f53dc3 GIT binary patch literal 12519 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 E0KaoOVE_OC literal 0 HcmV?d00001 diff --git a/test/visual/golden/stroke-projection/bevel/polygon-60deg.png b/test/visual/golden/stroke-projection/bevel/polygon-60deg.png new file mode 100644 index 0000000000000000000000000000000000000000..d353ec2c9fc65757fd77b231171d1b31aaf9ed2c GIT binary patch literal 12728 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 PiosxPXl{_NPYU@TDW@)T9vU(q{up) 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