The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Stroke Bounds</title>
	<link rel="stylesheet" href="../css/style.css">
	<script type="text/javascript" src="../../dist/paper-full.js"></script>
	<script type="text/paperscript" canvas="canvas">
		var paths = [];

		function makePath() {
			var path = new Path();
			path.moveTo(200, 50);
			path.lineTo(230, 100);
			path.lineTo(250, 50);
			path.lineTo(280, 110);
			path.arcTo([250, 20], false);
			path.rotate(-5);
			path.strokeWidth = 30;
			path.miterLimit = 3;
			paths.push(path);
			return path;
		}

		var path = makePath();
		path.strokeColor = 'black';
		path.strokeCap = 'butt';
		path.strokeJoin = 'round';

		var path = makePath().translate(150, 0);
		path.strokeColor = 'black';
		path.strokeCap = 'butt';
		path.strokeJoin = 'bevel';

		var path = makePath().translate(300, 0);
		path.strokeColor = 'black';
		path.strokeCap = 'butt';
		path.strokeJoin = 'miter';

		var path = makePath().translate(0, 150);
		path.strokeColor = 'black';
		path.strokeCap = 'square';
		path.strokeJoin = 'round';

		var path = makePath().translate(150, 150);
		path.strokeColor = 'black';
		path.strokeCap = 'square';
		path.strokeJoin = 'bevel';

		var path = makePath().translate(300, 150);
		path.strokeColor = 'black';
		path.strokeCap = 'square';
		path.strokeJoin = 'miter';

		var path = makePath().translate(0, 300);
		path.strokeColor = 'black';
		path.strokeCap = 'round';
		path.strokeJoin = 'round';

		var path = makePath().translate(150, 300);
		path.strokeColor = 'black';
		path.strokeCap = 'round';
		path.strokeJoin = 'bevel';

		var path = makePath().translate(300, 300);
		path.strokeColor = 'black';
		path.strokeCap = 'round';
		path.strokeJoin = 'miter';

		for (var i = 0; i < paths.length; i++) {
			var path = paths[i];
			path.fullySelected = true;
			path.scale(1.5, new Point(300, 0));
			var rect = new Path.Rectangle(path.strokeBounds);
			rect.strokeWidth = 0.25;
			rect.strokeColor = 'black';
			rect.fillColor = null;
			var rect = new Path.Rectangle(path.bounds);
			rect.strokeWidth = 0.25;
			rect.strokeColor = 'red';
			rect.fillColor = null;
			var rect = new Path.Rectangle(path.controlBounds);
			rect.strokeWidth = 0.25;
			rect.strokeColor = 'green';
			rect.fillColor = null;

			path.onMouseEnter = function() {
				this.strokeColor = 'red';
			}
			path.onMouseLeave = function() {
				this.strokeColor = 'black';
			}
		}

		project.activeLayer.position = view.center;
	</script>
</head>
<body>
	<canvas id="canvas" resize></canvas>
</body>
</html>