JSFiddle - React, Tailwind, and code Playground

by WernerSalomon

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: "Z", type: "Free", pos: [ 4.0, 3.590551181102362, 0.7874015748031497 ], color: [ 1.0, 0.0, 0.0 ], labeled: true }, 
		{ name: "O", type: "Free", pos: [ 0.0, -0.0, 4.0 ], color: [ 1.0, 0.0, 0.0 ], labeled: true }, 
		{ name: "2i", type: "Free", pos: [ 0.0, -4.0, -2.0 ], color: [ 1.0, 0.0, 0.0 ], labeled: true }, 
		{ name: "a", type: "Join", color: [ 0.0, 0.0, 0.0 ], args: [ "O", "2i" ] }, 
		{ name: "b", type: "Parallel", color: [ 0.0, 0.0, 1.0 ], args: [ "a", "Z" ], clip: "inci" }, 
		{ name: "C0", type: "Compass", color: [ 0.0, 0.0, 1.0 ], args: [ "O", "2i", "Z" ], visible: false, printname: "$C_{0}$" }, 
		{ name: "Collection__1", type: "IntersectionConicLine", args: [ "C0", "b" ] }, 
		{ name: "z-2i", type: "SelectP", pos: [ 4.0, 2.015748031496062, 0.7874015748031497 ], color: [ 1.0, 0.0, 0.0 ], args: [ "Collection__1" ], labeled: true }, 
		{ name: "c", type: "Orthogonal", color: [ 0.0, 0.0, 0.0 ], args: [ "a", "O" ] }, 
		{ name: "1", type: "PointOnLine", pos: [ 4.0, -0.0, 4.0 ], color: [ 1.0, 0.0, 0.0 ], args: [ "c" ], labeled: true }, 
		{ name: "d", type: "Orthogonal", color: [ 0.0, 0.0, 1.0 ], args: [ "a", "Z" ], clip: "inci" }, 
		{ name: "C1", type: "Compass", color: [ 0.0, 0.0, 1.0 ], args: [ "1", "O", "Z" ], visible: false, printname: "$C_{1}$" }, 
		{ name: "Collection__2", type: "IntersectionConicLine", args: [ "C1", "d" ] }, 
		{ name: "z-1", type: "SelectP", pos: [ -3.5789473684210544, -4.0, -0.8771929824561405 ], color: [ 1.0, 0.0, 0.0 ], args: [ "Collection__2" ], labeled: true }, 
		{ name: "e", type: "Segment", color: [ 0.0, 0.0, 1.0 ], args: [ "O", "z-1" ], size: 2, arrowshape: "jet", arrowsides: "==>", arrowsize: 1.6, arrowposition: 1.0 }, 
		{ name: "f", type: "Segment",...