2025-03-03 19:46:14 +01:00

68 lines
2.5 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Planet Visualization</title>
<!-- Stylesheets -->
<link rel="stylesheet" href="styles.css">
<!-- External Libraries -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/7.0.0/d3.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/three@0.128.0/examples/js/controls/OrbitControls.min.js"></script>
</head>
<body>
<!-- Screen 1: Settings Screen -->
<div id="settings-screen" class="screen active">
<div class="screen-content">
<h1>Planet Generator</h1>
<div class="settings-form">
<div class="form-group">
<label for="points-count">Number of Points:</label>
<input type="number" id="points-count" value="5000" min="1000" max="50000" step="1000">
</div>
<div class="form-group">
<label for="color-scheme">Color Scheme:</label>
<select id="color-scheme">
<option value="terrain">Terrain</option>
<option value="random">Random Colors</option>
</select>
</div>
<button id="generate-btn" class="primary-btn">Generate Planet</button>
</div>
</div>
</div>
<!-- Screen 2: Loading Screen -->
<div id="loading-screen" class="screen">
<div class="screen-content">
<h2>Generating Planet...</h2>
<div class="progress-container">
<div id="progress-bar" class="progress-bar"></div>
</div>
<div id="progress-text">0%</div>
</div>
</div>
<!-- Screen 3: Visualization Screen -->
<div id="visualization-screen" class="screen">
<div id="vis-controls">
<div>
<button id="back-btn">Back to Settings</button>
<button id="regenerate-btn">Regenerate Planet</button>
<label for="auto-rotate">Rotate: </label>
<input type="checkbox" id="auto-rotate" checked>
</div>
</div>
<div id="visualization">
<div id="threejs-container"></div>
<div id="d3-container"></div>
</div>
</div>
<!-- Custom JavaScript -->
<script src="planet_visualization.js"></script>
</body>
</html>