js/labels.js ausgelagert – makeLabel(), makeHitSphere(), setLabelFocused(), clearAllFocus(), positionLabel().js/atmosphere.js ausgelagert – 3D-Shader (addAtmoSphere()), Farb-Definitionen (ATMO_COLORS) sowie die SVG-Diagramm-Builder für Atmosphären-Anzeige (_buildAtmoArc()) und Materie-Zusammensetzung (_buildMatterCompositionPie()).languages.js liest die Laufzeit-Variablen nun über registrierte Getter statt über den einmalig kopierten State.pd.matter wird jetzt auf Existenz geprüft bevor auf .composition zugegriffen wird).js/state.js ausgelagert – alle globalen Variablen an einem Ort, kein Circular-Import möglich.js/languages.js ausgelagert – Übersetzungs-Funktionen t(), tName(), applyLang(), setLang() und initLang().js/textures.js ausgelagert – loadTexture(), makeMaterial() und startTexturePreload().languages.json.show-help-Aktion eingebettet (als px/py), sodass Playback die identische Position reproduziert.backgroup (System-Ansicht) und als helpBtnOv in gogroup (Übersicht) eingebettet statt in eigener separater Gruppe – Button erscheint jetzt in beiden Ansichten korrekt neben dem jeweiligen Navigationsbutton.user-select: none)._injectHelpI18N-Fallback und zugehöriger Aufruf vollständig entfernt – btn.help und help.title kommen ausschließlich aus languages.json.runAction – werden korrekt aufgezeichnet und per Playback abgespielt.ui-sec-1-helpgroup) – war in backgroup die in der Übersicht versteckt wird; jetzt immer sichtbar wenn Sektion 1 aktiv ist.btn.help und help.title aus hargecodiertem Fallback in languages.json übernommen.show-help, hide-help und move-helppanel in commands.json registriert und implementiert (analog zu show-panels, close-panel, move-panel).