forge / frontend /index.html
juiceb0xc0de's picture
Forge: initial deploy — API + static UI over prebuilt forge.db (seeded at build)
00cabba
Raw
History Blame Contribute Delete
2.07 kB
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Forge — ML training compatibility graph</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Geist:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
<link rel="stylesheet" href="styles.css">
<!-- React + Babel (pinned) -->
<script src="https://unpkg.com/react@18.3.1/umd/react.development.js" integrity="sha384-hD6/rw4ppMLGNu3tX5cjIb+uRZ7UkRJ6BPkLpg4hAu/6onKUg4lLsHAs9EBPT82L" crossorigin="anonymous"></script>
<script src="https://unpkg.com/react-dom@18.3.1/umd/react-dom.development.js" integrity="sha384-u6aeetuaXnQ38mYT8rp6sbXaQe3NL9t+IBXmnYxwkUI2Hw4bsp2Wvmx4yRQF1uAm" crossorigin="anonymous"></script>
<script src="https://unpkg.com/@babel/standalone@7.29.0/babel.min.js" integrity="sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y" crossorigin="anonymous"></script>
<!-- d3 (force simulation) -->
<script src="https://unpkg.com/d3@7.9.0/dist/d3.min.js"></script>
</head>
<body>
<div id="root"></div>
<!-- Mock data + resolver (matches FastAPI /resolve, /recipe shapes) -->
<script src="data.js"></script>
<!-- Type icons / metadata -->
<script src="icons.js"></script>
<!-- Forge sounds (Web Audio, no assets) -->
<script src="sound.js"></script>
<!-- Tweaks shell (host protocol + form controls) -->
<script type="text/babel" src="tweaks-panel.jsx"></script>
<!-- App pieces -->
<script type="text/babel" src="graph.jsx"></script>
<script type="text/babel" src="inventory.jsx"></script>
<script type="text/babel" src="recipe.jsx"></script>
<script type="text/babel" src="ticker.jsx"></script>
<script type="text/babel" src="tooltip.jsx"></script>
<script type="text/babel" src="app.jsx"></script>
</body>
</html>