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: "O", 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, 4.0 ], color: [ 1.0, 0.0, 0.0 ], labeled: true, printname: "B (1| 0)" },
{ name: "C0", type: "CircleMP", color: [ 0.0, 0.0, 0.0 ], args: [ "O", "B" ], printname: "$C_{0}$" },
{ name: "a", type: "Join", color: [ 0.5019608, 0.5019608, 0.5019608 ], args: [ "O", "B" ], alpha: 0.9, labeled: true },
{ name: "b", type: "Orthogonal", color: [ 0.0, 0.0, 1.0 ], args: [ "a", "B" ] },
{ name: "C", type: "Mid", color: [ 1.0, 1.0, 1.0 ], args: [ "B", "O" ], size: 0.0 },
{ name: "C1", type: "CircleMP", color: [ 0.7568628, 0.0, 0.0 ], args: [ "C", "O" ], printname: "$C_{1}$", labeled: true },
{ name: "Z", type: "Free", pos: [ 2.3847023809523793, 1.9627976190476202, 4.0 ], color: [ 1.0, 0.0, 0.0 ], labeled: true },
{ name: "c", type: "PolarOfPoint", color: [ 1.0, 1.0, 1.0 ], args: [ "Z", "C0" ], size: 0 },
{ name: "d", type: "Orthogonal", color: [ 1.0, 1.0, 1.0 ], args: [ "c", "Z" ], size: 0 },
{ name: "Z*", type: "Meet", color: [ 1.0, 0.0, 0.0 ], args: [ "c", "d" ], size: 1.0 },
{ name: "e", type: "Orthogonal", color: [ 1.0, 1.0, 1.0 ], args: [ "a", "Z*" ], size: 0 },
{ name: "E", type: "Meet", color: [ 1.0, 1.0, 1.0 ], args: [ "a", "e" ], size: 0.0 },
{ name: "C2", type: "CircleMP", color: [ 1.0, 1.0, 1.0 ], args: [ "E", "Z*" ], size: 0, printname: "$C_{2}$" },
{ name: "Z'", type: "OtherIntersectionCL", color: [ 1.0, 0.0, 0.0 ], args: [ "C2", "e", "Z*" ], labeled: true, printname: "$\\frac{1}{z}$" },
{ name: "f", type: "Orthogonal", color: [ 0.5019608, 0.5019608, 0.5019608 ], args: [ "a", "O" ] }],
ports: [
{ id: "CSCanvas", width:...