From 6edfb7e2974d1d5909d4bcff5b46e1f1acd26060 Mon Sep 17 00:00:00 2001 From: benjamin Date: Mon, 9 Mar 2026 18:33:11 +0100 Subject: [PATCH] codex session --- codex-session.json | 76 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 codex-session.json diff --git a/codex-session.json b/codex-session.json new file mode 100644 index 0000000..edf83c5 --- /dev/null +++ b/codex-session.json @@ -0,0 +1,76 @@ +{ + "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" + ] +}