HTML
<script src="https://cindyjs.org/dist/v0.8.7/Cindy.js"></script>
<div id="CSCanvas"></div>
<script>
CindyJS({
scripts: "cs*",
defaultAppearance: { fontFamily: "sans-serif", lineSize: 1, pointSize: 5.0, textsize: 12.0 },
angleUnit: "°",
geometry: [
{ name: "R2", type: "Free", pos: [ -1.9425287356321839, -4.0, -0.28735632183908044 ], color: [ 1.0, 0.0, 0.0 ], labeled: true },
{ name: "P2", type: "Free", pos: [ 4.0, 1.7668711656441718, 0.6134969325153374 ], color: [ 1.0, 1.0, 0.0 ], labeled: true, size: 6.0 },
{ name: "c", type: "Join", color: [ 0.4666667, 0.0, 0.7176471 ], args: [ "R2", "P2" ] },
{ name: "R1", type: "Free", pos: [ -0.9645390070921986, -4.0, 0.3546099290780142 ], color: [ 1.0, 0.0, 0.0 ], labeled: true },
{ name: "P1", type: "Free", pos: [ 2.8363636363636364, -4.0, 1.8181818181818181 ], color: [ 1.0, 1.0, 0.0 ], labeled: true, size: 6.0 },
{ name: "d", type: "Join", color: [ 0.4666667, 0.0, 0.7176471 ], args: [ "R1", "P1" ] },
{ name: "a", type: "Segment", color: [ 0.0, 0.0, 1.0 ], args: [ "R2", "P2" ], size: 3 },
{ name: "b", type: "Segment", color: [ 0.0, 0.0, 1.0 ], args: [ "R1", "P1" ], size: 3 },
{ name: "S2", type: "PointOnLine", pos: [ 4.0, 0.17646668301818333, 0.6188511086620718 ], color: [ 1.0, 0.0, 0.0 ], args: [ "c" ], labeled: true },
{ name: "C0", type: "Compass", color: [ 0.5019608, 0.5019608, 0.5019608 ], args: [ "P2", "S2", "P1" ], alpha: 0.2222222222222222, printname: "$C_{0}$" },
{ name: "Collection__1", type: "IntersectionConicLine", args: [ "C0", "d" ] },
{ name: "Q", type: "SelectP", pos: [ 0.398763864021445, -4.0, 0.8795620116923397 ], color: [ 1.0, 0.0, 0.0 ], args: [ "Collection__1" ], labeled: true },
{ name: "e", type: "Join", color: [ 0.0, 0.0, 0.0 ], args: [ "Q", "S2" ], clip: "inci" },
{ name: "C", type: "Mid", color: [ 1.0, 0.0, 0.0 ], args: [ "Q", "S2" ], size: 3.0 },
{ name: "f", type: "Orthogonal", color: [ 0.0, 0.0, 0.0 ], args: [ "e", "C" ] },
{ name: "S1",...