HTML
<script src="https://cindyjs.org/dist/latest/Cindy.js"></script>
<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: "a", type: "Through", pos: [ 0.0, -4.0, 0.0 ], color: [ 0.0, 0.0, 0.0 ], args: [ "O" ] },
{ name: "P", type: "PointOnLine", pos: [ 4.0, -0.0, -1.0 ], color: [ 1.0, 0.0, 0.0 ], args: [ "a" ], labeled: true },
{ name: "b", type: "Orthogonal", color: [ 0.0, 0.0, 0.0 ], args: [ "a", "O" ] },
{ name: "c", type: "Orthogonal", color: [ 0.0, 0.0, 1.0 ], args: [ "a", "P" ], size: 2 },
{ name: "X", type: "PointOnLine", pos: [ 2.5157232704402515, -4.0, -0.6289308176100629 ], color: [ 1.0, 0.0, 0.0 ], args: [ "c" ], labeled: true },
{ name: "C0", type: "ConicParabolaPL", color: [ 0.0, 0.0, 1.0 ], args: [ "O", "c" ], size: 2, printname: "$C_{0}$" },
{ name: "D", type: "Mid", color: [ 1.0, 0.0, 0.0 ], args: [ "X", "O" ], visible: false, labeled: true },
{ name: "d", type: "Orthogonal", color: [ 0.0, 0.0, 1.0 ], args: [ "c", "X" ], visible: false },
{ name: "e", type: "Join", color: [ 0.0, 0.0, 1.0 ], args: [ "X", "O" ], visible: false },
{ name: "f", type: "Orthogonal", color: [ 0.0, 0.0, 1.0 ], args: [ "e", "D" ], visible: false },
{ name: "Q", type: "Meet", color: [ 1.0, 0.0, 0.0 ], args: [ "d", "f" ], labeled: true },
{ name: "g", type: "Segment", color: [ 0.7568628, 0.0, 0.0 ], args: [ "O", "Q" ], size: 2 },
{ name: "h", type: "Segment", color: [ 0.7568628, 0.0, 0.0 ], args: [ "X", "Q" ], size: 2 } ],
ports: [
{ id: "CSCanvas", width: 534, height: 385, transform: [ { visibleRect: [ -8.66, 11.3, 12.7, -4.1 ] } ], background: "rgb(168,176,192)" } ],
cinderella: { build: 1835, version: [ 2, 9, 1835 ] }...