| name | yaha-ui-principles |
| description | Nutzen bei UI-Architektur, Rendering, Datenfluss und Feature-Design im yaha-Frontend. Fokus: dynamische Oberflaeche aus Message-Topics, Konfigurationen via File-Store, spaetere Admin-Features. |
ziel:grundprinzipien_der_yaha_gui_konsistent_umsetzen
kontext:frontend_react_pwa_backend_nur_publish_message_store_file_store
regel:vor_umsetzung_immer_legacy_referenz_pruefen
legacy_basis:spec/original/src
kernprinzip_1:dynamische_oberflaeche_aus_daten_nicht_statisch_per_hand
kernprinzip_2:messages_sind_topic_hierarchisch_und_erzeugen_die_ui_struktur
kernprinzip_3:topic_beispiel:first/study/main/light/light_on_time
kernprinzip_4:konfigurationen_zb_rules_werden_ueber_file_service_synchron_geladen_und_gespeichert
kernprinzip_5:admin_features_sind_eigener_bereich_noch_im_aufbau
kernprinzip_6:ui_einfach_halten_herausforderung_ist_automatische_generierung
kernprinzip_7:menues_und_breadcrumb_strukturen_muesen_feature_uebergreifend_look_and_feel_paritaet_haben
backend_feature_1:publish_senden_von_mqtt_meldungen
backend_feature_2:message_store_lesen_aller_mqtt_meldungen
backend_feature_3:file_store_zugriff_auf_konfigurationen
architekturhinweise:topic_zu_tree_transformieren_nodes_rendern_routing_und_detailtiefe_ueber_topic_pfad
zustandshinweise:message_store_als_quelle_der_wahrheit_publish_mit_ruecklesevalidierung
abweichung_original_1:asynchrone_oder_zeitversetzte_fehleranzeigen_werden_im_react_gui_grundsaetzlich_per_snackbar_angezeigt_auch_wenn_das_original_inline_fehler_nutzt
fehlerfeedback_regel_1:alle_fehler_die_nicht_unmittelbar_im_kontext_einer_sofortigen_direktaktion_entstehen_muessen_ueber_globales_snackbar_feedback_laufen
fehlerfeedback_regel_2:inline_fehlertexte_duerfen_erganzend_existieren_ersetzen_aber_nicht_die_snackbar_bei_asynchronen_fehlerpfaden
legacy_belege_1:spec/original/src/app/data/message.ts
legacy_belege_2:spec/original/src/app/data/message-tree.service.ts
legacy_belege_3:spec/original/src/app/api/messages.service.ts
legacy_belege_4:spec/original/src/app/api/change.service.ts
legacy_belege_5:spec/original/src/app/api/rules.service.ts
legacy_belege_6:spec/original/src/app/overview/overview-screen/overview-screen.component.ts
legacy_belege_7:spec/original/src/app/detailview/detail-overview/detail-overview.component.ts
legacy_belege_8:spec/original/src/app/settings
umsetzungscheck_1:rendering_von_topic_hierarchie_abgeleitet
umsetzungscheck_2:keine_hartkodierte_geraetestruktur
umsetzungscheck_3:konfigurationsfluss_ueber_file_store_vorgesehen
umsetzungscheck_4:publish_message_store_file_store_als_minimale_backend_grenzen_eingehalten
umsetzungscheck_5:einfaches_ui_komplexitaet_in_generatorlogik_nicht_in_widget_overengineering
umsetzungscheck_6:menues_und_breadcrumbs_sind_in_allen_ufuehrungsbereichen_visuell_konsistent