Entwicklerleitfaden
Universe Map ist eine statische Angular- und Three.js-Anwendung. Die Rendering-Engine bleibt frameworkunabhängig; Angular besitzt die Oberfläche und kommuniziert über eine typisierte Fassade und Engine-Ereignisse.
Installation und Start
Voraussetzungen: Node.js 22 und npm.
git clone https://github.com/Nayruuu/my-universe.git
cd my-universe/client
npm ci
npm startDer Angular-Entwicklungsserver startet standardmäßig auf http://localhost:4200.
Architektur
client/src/
├── app/ Angular-UI, Zustand, Suche, Einstellungen und URL
├── engine/ Three.js-Szene, Kamera, Rendering, LOD, Kacheln und Simulation
└── data/ strikte Modelle und Laufzeitvalidierung
client/public/
├── data/ versionierte statische Astronomiedaten
└── textures/ lokale Texturen und Quellenangaben
docs/guide/ Markdown-Quellen dieses öffentlichen Leitfadensclient/src/engine darf Angular nicht importieren. Wer eine Three.js-Ressource erzeugt, entsorgt sie auch. Zeitberechnungen bleiben von der Render-Schleife getrennt.
Häufige Befehle
cd client
npm run typecheck
npm run lint
npm run test:data
npm run test:coverage
npm run build
npm run test:e2e
npm run verify:ci
npm run verifyDie Abdeckung verlangt 100% für Anweisungen, Verzweigungen, Funktionen und Zeilen. verify:ci ist das schnelle Deployment-Gate; verify ergänzt sämtliche Playwright-Abläufe.
Anwendung und Leitfaden unterstützen Französisch, Englisch, Spanisch, Deutsch, Italienisch, Koreanisch, Japanisch und vereinfachtes Chinesisch. Die App nutzt /fr/ bis /zh/; der Leitfaden behält Englisch unter /guide/ und Übersetzungen unter /guide/de/, /guide/fr/ usw. Chinesisch verwendet zh-Hans in Standard-Tags.
I18nService verwaltet Texte, Zahlen und übersetzte Namen, ohne die Engine an Angular zu koppeln. SeoService synchronisiert Metadaten, Canonical, hreflang, Manifeste und JSON-LD. Der Build erzeugt direkt indexierbares HTML. Datenimporte normalisieren Kataloge außerhalb des Browsers und erzeugen statische Binärdateien oder Kacheln; fügen Sie keine Anwendungs-API zur Laufzeit hinzu.
Beachten Sie vor Pull Requests die UI-Engine-Grenze, ergänzen Sie unabhängige Referenztests für wissenschaftliche Berechnungen und schließen Sie sichtbare oder übergreifende Änderungen mit npm run verify ab. Die vollständige Referenz steht in docs/TECHNICAL_REFERENCE.md.
Weiter: Häufige Fragen.