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: "A", type: "Free", pos: [ 0.0, -0.0, 4.0 ], color: [ 1.0, 0.0, 0.0 ], labeled: true },
{ name: "B", type: "Free", pos: [ 4.0, -0.0, 0.5 ], color: [ 1.0, 0.0, 0.0 ], labeled: true },
{ name: "C", type: "Free", pos: [ 4.0, 2.5, 0.5 ], color: [ 1.0, 0.0, 0.0 ], labeled: true },
{ name: "D", type: "Free", pos: [ 0.0, -4.0, -0.8 ], color: [ 1.0, 0.0, 0.0 ], labeled: true },
{ name: "a", type: "Join", color: [ 0.0, 0.0, 1.0 ], args: [ "A", "B" ], clip: "inci" },
{ name: "b", type: "Join", color: [ 0.0, 0.0, 1.0 ], args: [ "B", "C" ], clip: "inci" },
{ name: "c", type: "Join", color: [ 0.0, 0.0, 1.0 ], args: [ "C", "D" ], clip: "inci" },
{ name: "d", type: "Join", color: [ 0.0, 0.0, 1.0 ], args: [ "D", "A" ], clip: "inci" },
{ name: "P", type: "PointOnLine", pos: [ 4.0, -0.0, 0.7575757575757576 ], color: [ 1.0, 1.0, 0.0 ], args: [ "a" ], labeled: true, size: 6.0 },
{ name: "C0", type: "Compass", color: [ 0.0, 0.0, 1.0 ], args: [ "B", "P", "A" ], visible: false, printname: "$C_{0}$" },
{ name: "C1", type: "Compass", color: [ 0.0, 0.0, 1.0 ], args: [ "B", "P", "C" ], visible: false, printname: "$C_{1}$" },
{ name: "C2", type: "Compass", color: [ 0.0, 0.0, 1.0 ], args: [ "B", "P", "D" ], visible: false, printname: "$C_{2}$" },
{ name: "Collection__1", type: "IntersectionConicLine", args: [ "C0", "d" ] },
{ name: "S", type: "SelectP", pos: [ 0.0, -4.0, -1.4705882352941178 ], color: [ 1.0, 0.0, 0.0 ], args: [ "Collection__1" ], labeled: true },
{ name: "Collection__2", type: "IntersectionConicLine", args: [ "C2", "c" ] },
{ name: "R", type: "SelectP", pos: [ -2.176, -4.0, -0.8 ], color: [ 1.0, 0.0, 0.0 ], args: [ "Collection__2" ], labeled: true },
{ name:...