import React, { useState } from "react"; import { unmountComponentAtNode } from "react-dom"; import { createRoot } from "react-dom/client"; import { Matrix } from "./Matrix"; const root = createRoot(document.getElementById("root")); let idx = 1; const versions = [ "classic", "3d", "resurrections", "operator", "megacity", "nightmare", "paradise", "trinity", "bugs", "morpheus", ]; const App = () => { const [version, setVersion] = useState(versions[0]); const [numColumns, setNumColumns] = useState(80); const [cursorColor, setCursorColor] = useState(null); const [backgroundColor, setBackgroundColor] = useState("0,0,0"); const [rendererType, setRendererType] = useState(null); const [density, setDensity] = useState(2); const [destroyed, setDestroyed] = useState(false); const onButtonClick = () => { setVersion((s) => { const newVersion = versions[idx]; idx = (idx + 1) % versions.length; console.log(newVersion); return newVersion; }); setCursorColor(null); setBackgroundColor(null); }; const onRendererButtonClick = () => { setRendererType(() => (rendererType === "webgpu" ? "regl" : "webgpu")); }; const onDestroyButtonClick = () => { setDestroyed(true); }; return (