116 lines
4.4 KiB
HTML
116 lines
4.4 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Cesium Reset Baseline</title>
|
|
</head>
|
|
<body>
|
|
<div id="app">
|
|
<div id="hud">
|
|
<div class="hud-title">Flight Sim Prototype</div>
|
|
<div class="hud-row">
|
|
<span>Service</span>
|
|
<strong id="serviceStatus">Checking</strong>
|
|
</div>
|
|
<div class="hud-row">
|
|
<span>Aircraft</span>
|
|
<strong id="aircraftStatus">-</strong>
|
|
</div>
|
|
<div class="hud-row">
|
|
<span>Simulation</span>
|
|
<strong id="simulationStatus">Waiting</strong>
|
|
</div>
|
|
<div class="hud-row">
|
|
<span>Playback</span>
|
|
<strong id="playbackStatus">Idle</strong>
|
|
</div>
|
|
<div class="control-grid">
|
|
<label>
|
|
<span>Maneuver</span>
|
|
<select id="maneuverType">
|
|
<option value="cobra">Cobra</option>
|
|
<option value="control-script">Control script</option>
|
|
<option value="level-turn">Level turn</option>
|
|
<option value="straight">Straight</option>
|
|
<option value="climb">Climb</option>
|
|
<option value="descent">Descent</option>
|
|
</select>
|
|
</label>
|
|
<label>
|
|
<span>Duration</span>
|
|
<input id="durationSec" type="number" min="1" max="120" step="1" value="5" />
|
|
</label>
|
|
<label>
|
|
<span>Speed</span>
|
|
<input id="speedMps" type="number" min="20" max="600" step="5" value="120" />
|
|
</label>
|
|
<label>
|
|
<span>Bank</span>
|
|
<input id="bankDeg" type="number" min="-80" max="80" step="5" value="0" />
|
|
</label>
|
|
</div>
|
|
<div id="cobraControls" class="cobra-controls">
|
|
<div class="panel-title">Cobra Controller</div>
|
|
<div class="control-grid">
|
|
<label>
|
|
<span>Target alpha</span>
|
|
<input id="targetAlphaDeg" type="number" min="45" max="130" step="5" value="80" />
|
|
</label>
|
|
<label>
|
|
<span>Pitch-rate cap</span>
|
|
<input id="pitchRateLimitDegS" type="number" min="20" max="220" step="5" value="80" />
|
|
</label>
|
|
<label>
|
|
<span>Pull time</span>
|
|
<input id="pullDurationSec" type="number" min="0.1" max="3" step="0.05" value="0.7" />
|
|
</label>
|
|
<label>
|
|
<span>Recovery time</span>
|
|
<input id="recoveryDurationSec" type="number" min="0.1" max="5" step="0.1" value="2.0" />
|
|
</label>
|
|
<label>
|
|
<span>Pull elevator</span>
|
|
<input id="maxElevatorCmd" type="number" min="-1" max="0" step="0.05" value="-0.45" />
|
|
</label>
|
|
<label>
|
|
<span>Recovery elevator</span>
|
|
<input id="recoveryElevatorCmd" type="number" min="0" max="1" step="0.05" value="0.65" />
|
|
</label>
|
|
<label>
|
|
<span>Pull TVC</span>
|
|
<input id="pullTvcCmd" type="number" min="-1" max="0" step="0.05" value="-0.05" />
|
|
</label>
|
|
<label>
|
|
<span>Recovery TVC</span>
|
|
<input id="recoveryTvcCmd" type="number" min="-1" max="1" step="0.05" value="0.85" />
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="button-row">
|
|
<button id="simulateButton" type="button">Simulate</button>
|
|
<button id="retryButton" type="button">Retry</button>
|
|
</div>
|
|
<div class="button-row">
|
|
<button id="playButton" type="button">Play</button>
|
|
<button id="pauseButton" type="button">Pause</button>
|
|
<button id="resetButton" type="button">Reset</button>
|
|
<select id="playbackSpeed">
|
|
<option value="0.25">0.25x</option>
|
|
<option value="1" selected>1x</option>
|
|
<option value="2">2x</option>
|
|
<option value="5">5x</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div id="researchPanel">
|
|
<div class="panel-title">F-22 Cobra Telemetry</div>
|
|
<canvas id="telemetryCanvas" width="420" height="300"></canvas>
|
|
<div id="telemetrySummary" class="telemetry-summary">No simulation</div>
|
|
</div>
|
|
<div id="cesiumContainer"></div>
|
|
</div>
|
|
<script type="module" src="/src/main.js"></script>
|
|
</body>
|
|
</html>
|