FPV-Drohnen-Simulator
Ein FPV-Drohnen-Rennsimulator durch ein prozedural erzeugtes Zementwerk, live im Browser. TypeScript und Three.js, keine geladenen Assets, 732 KB komprimiert, und Flugphysik mit 1.000 Schritten pro Sekunde berechnet.
Das ist CEMENTIFICIO, ein FPV-Drohnen-Rennsimulator, der durch ein stillgelegtes Zementwerk fliegt, gebaut in TypeScript (strict) auf Three.js r170 mit Vite 6, gerendert über WebGL2 mit der postprocessing-Pipeline von pmndrs und kollisionsgeprüft über three-mesh-bvh. Vier Runtime-Dependencies, keine Spiel-Engine, kein CMS, ausgeliefert als statisches Bundle hinter nginx auf Cloud Run.
Es wird nichts geladen. Jede Textur, von Beton über Rost bis zu verwittertem Holz, entsteht zur Laufzeit aus unserer eigenen Noise-Bibliothek (Perlin, fBm, Ridged, Worley), seed-deterministisch über mulberry32. Jedes Gebäude, vom Vorwärmerturm bis zur Förderbandgalerie, wird aus Geometriecode gebaut. Jeder Sound, vier Motoren, Luftströmung, Oberflächenreflexionen, wird synthetisiert, und selbst die OSD-Schrift ist eine prozedural erzeugte Bitmap auf demselben 30x16-Zeichenraster, das echte FPV-Hardware nutzt. Das gesamte Bundle wiegt 2,2 MB JavaScript, 732 KB komprimiert, für eine vollständige 3D-Welt.
Die Flugsimulation läuft mit einer festen Schrittweite von 1.000 Hz, unabhängig von der Bildrate. Jeder Rotor wird über Blade-Element- und Momentum-Theorie berechnet, gekoppelt durch einen Fixpunkt-Solver für den induzierten Durchfluss, in jedem einzelnen Schritt. Dazu kommen Blattschlagen mit Nabenmoment, Glauert-Entlastung im Schnellflug, ein bandbegrenztes Vortex-Ring-State-Modell, Bodeneffekt über ein Spiegelquellenmodell, Dryden-Böenturbulenz, ein BLDC-Motormodell mit Rekuperation beim Bremsen und ein LiPo-Akkumodell mit Spannungseinbruch unter Last und Erholung.
Gerendert wird über PCSS-Schattenkaskaden mit Contact Hardening, GTAO, PMREM-basierter Beleuchtung und AgX-Tonemapping statt des üblichen ACES. Die FPV-Optik ist ein eigener Effekt: chromatische Aberration, Tonnenverzeichnung, Sensorrauschen und Motion Blur, kalibriert an echtem Referenzmaterial statt nach Augenmaß. Eine adaptive Qualitätsstufe reagiert im Flug auf die Bildrate, verteilt über 33 eigene GLSL-Shader.
Der Flight Controller ist ein Verhaltensmodell einer modernen Open-Source-Flight-Controller-Firmware der Betaflight-4.5-Generation, eigenständig in TypeScript implementiert. Dieselbe PID-Loop-Struktur, dieselbe Filterkette, dieselben Rate-Kurven, ohne jeglichen Firmware-Quellcode. Es rechnet gegen ein Verhaltensmodell eines Gyros der ICM-42688-P-Klasse mit drehzahlgetriebener Vibration, sodass es dasselbe verrauschte Signal bekommt wie ein echter Flight Controller. Ein Blackbox-Scope tastet mit 1 kHz ab, und Konfigurationsdateien im diff-all-Format lassen sich direkt importieren.
Betaflight ist ein Projekt der Betaflight-Open-Source-Community. ICM-42688-P ist ein Produkt von TDK InvenSense. RAVE SPACE steht in keiner Verbindung zu einem der beiden Unternehmen und wird von keinem der beiden unterstützt oder gesponsert. Der Simulator enthält weder Firmware-Quellcode noch Hersteller-Quellcode, sondern ausschließlich eigenständig entwickelte Verhaltensmodelle. Alle Marken gehören ihren jeweiligen Inhabern.