Files
wgenerator/codex-session.json
2026-03-09 18:33:11 +01:00

77 lines
3.7 KiB
JSON

{
"updated_at": "2026-03-09",
"project": "wgenerator",
"summary": {
"css_theme": [
"LESS @-Variablen durch CSS-Custom-Properties ersetzt",
"natuerlichere Farbpalette auf Basis des Body-Gradients eingefuehrt",
"Material Icon Buttons auf die Primaerfarbe abgestimmt",
"mehrere harte Farben in normale App-Views auf Tokens umgestellt",
"Monitor-/Beamer-Ansicht bewusst kontrastreich belassen"
],
"material_theme": [
"src/custom-theme.scss auf map-basierte Angular-Material-M2-Theme-Definition umgestellt",
"Warnung zu legacy define-light-theme-Signatur behoben"
],
"transpose": [
"TransposeService auf Halbtonlogik umgebaut",
"unbekannte Akkorde rendern bewusst als X",
"dynamisches Rendern statt festem 100-Zeichen-Template",
"Tests fuer Enharmonik, B/H, X-Faelle und Key-Helper ergaenzt",
"key.helper Korrekturen: Gb-Mapping und D-Skala"
],
"firebase_reads": [
"ConfigService und GlobalSettingsService auf Singleton-Streams umgestellt",
"read$ fuer shows, songs und guest wieder direkt ueber doc$ statt list$.find(...)",
"songUsage Login-Backfill entfernt",
"songUsage-Inkremente auf FieldValue.increment(...) umgestellt",
"Admin-Konsoleintrag window.wgeneratorAdmin.rebuildSongUsage() hinzugefuegt",
"showSongDataService.list$(showId) pro showId gecacht",
"monitor.component.ts entkoppelt, damit Show-Metadaten keine unnoetigen Song-Reads triggern"
],
"shows_filter": [
"showType-Filter funktioniert wieder clientseitig",
"Zeitraumfilter fachlich auf heute minus n*30 Tage umgestellt",
"oeffentliche Shows werden fuer den Zeitraum serverseitig per Firestore-Query geladen",
"owner und showType filtern weiterhin clientseitig auf dem kleineren Resultset",
"Null-Fall im Filter-Template abgesichert"
]
},
"important_files": [
"src/styles/styles.less",
"src/custom-theme.scss",
"src/app/modules/songs/services/transpose.service.ts",
"src/app/modules/songs/services/transpose.service.spec.ts",
"src/app/modules/songs/services/key.helper.ts",
"src/app/modules/songs/services/key.helper.spec.ts",
"src/app/services/config.service.ts",
"src/app/services/global-settings.service.ts",
"src/app/services/user/user.service.ts",
"src/main.ts",
"src/app/modules/shows/services/show-song-data.service.ts",
"src/app/modules/presentation/monitor/monitor.component.ts",
"src/app/modules/presentation/remote/remote.component.ts",
"src/app/modules/shows/services/show-data.service.ts",
"src/app/modules/shows/list/list.component.ts",
"src/app/modules/shows/list/filter/filter.component.ts",
"src/app/modules/shows/list/filter/filter.component.html",
"src/app/modules/songs/song/song.component.ts",
"src/app/modules/songs/song/song.component.html",
"README.md"
],
"console_commands": {
"song_usage_rebuild": "await window.wgeneratorAdmin.rebuildSongUsage()"
},
"known_tradeoffs": [
"songUsage wird historisch nicht mehr automatisch beim Login rekonstruiert; dafuer ist die Admin-Migration gedacht",
"songUsage decrement kann bei inkonsistenten Aufrufpfaden theoretisch unter 0 laufen",
"owner- und showType-Filter fuer Shows laufen noch clientseitig",
"oeffentliche Show-Zeitraumquery kann Firestore-Indexe benoetigen"
},
"next_candidates": [
"remote.component.ts weiter entkoppeln, damit textRendering.parse(...) nicht bei jeder Show-Metadatenaenderung fuer alle Songs neu laeuft",
"users$ als Voll-Collection-Livestream spaeter auf Einzelreads bzw. gezieltere Nutzung pruefen",
"weitere Firestore-Read-Hotspots mit echten Metriken gegenpruefen"
]
}