Files
Infinity_Vis_Rust/docs/codex_worklog.md

7.2 KiB

Codex Worklog

2026-04-20 - Creative Surface kompakter und Preview-FPS-Pruefung

  • Geaenderte Dateien:
    • web/v1/styles.css
    • web/v1/app.js
    • crates/infinity_host/src/runtime.rs
    • docs/architecture.md
  • Fachliche Aenderungen:
    • Creative Surface kompakter aufgestellt, damit die 18 Preview-Panels im 6x3-Raster besser vollstaendig sichtbar bleiben.
    • Frontend-Preview-Drosselung von ca. 11 fps entfernt und auf eine ruhige requestAnimationFrame-basierte Taktung mit Host-orientiertem Ziel-FPS umgestellt.
    • Host-Preview-Schedule von 15 Hz auf 60 Hz angehoben, ohne neue Architektur einzuziehen.
    • Dokumentation des Preview-Ziels auf den aktuellen Stand gebracht.
  • Gelaufene Tests:
    • cargo fmt --check
    • cargo test -q -p infinity_host
    • cargo test -q -p infinity_host_api --test contract
    • lokaler API-Check gegen temporaeren Host auf 127.0.0.1:9002 mit bestaetigtem engine.preview_hz = 60
    • kein echter Browser-Handtest in dieser CLI-Umgebung moeglich
  • Bewusste Abweichungen zur Python-Version:
    • Kein Canvas-Preview-Rewrite in diesem Schritt; die bestehende DOM/CSS-Preview bleibt erhalten und wird nur verschlankt sowie render-seitig entdrosselt.

2026-04-20 - Diskretere Preview-Wirkung und weniger Preview-Clutter

  • Geaenderte Dateien:
    • crates/infinity_host/src/scene.rs
    • crates/infinity_host_api/src/server.rs
    • web/v1/app.js
    • web/v1/index.html
  • Fachliche Aenderungen:
    • Normale Pattern-Intensitaet vor Preview-Ausgabe auf 10%-Stufen quantisiert.
    • Normales Preview-Smoothing standardmaessig stark reduziert; nur breathing darf weiterhin ueber den bestehenden fade-Pfad weich bleiben.
    • Preview-Stream im WebSocket sendet Preview nur noch bei geaendertem Payload; der bestehende Snapshot-Heartbeat bleibt fuer den API-Vertrag erhalten.
    • Master Brightness in den Header verschoben; linke Brightness-Sektion zeigt nur noch pattern-spezifische Helligkeitsparameter.
    • Den sichtbaren speed-Slider aus der Creative Surface entfernt; BPM oben plus tempo_multiplier bleiben die Geschwindigkeitsbedienung.
  • Gelaufene Tests:
    • cargo fmt --check
    • cargo test -q -p infinity_host
    • cargo test -q -p infinity_host_api --test contract
  • Bewusste Abweichungen zur Python-Version:
    • Keine vollstaendige Python-Pattern-Engine-Portierung; stattdessen gezielte Diskretisierung und Stream-Beruhigung innerhalb der bestehenden Rust-Host-/Web-Architektur.
    • Kein echter Browser-Handtest in dieser CLI-Umgebung moeglich.

2026-04-20 - Creative Surface Redesign und Control-Fix (gezielt)

  • Geaenderte Dateien:
    • web/v1/index.html
    • web/v1/app.js
    • web/v1/styles.css
    • crates/infinity_host/src/scene.rs
  • Fachliche Aenderungen:
    • Redundante globale Brightness-Steuerung in der linken Spalte entfernt; Master Brightness bleibt oben im Header.
    • Sichtbaren speed-Slider in der Creative Surface entfernt; Bedienung ueber BPM oben plus tempo_multiplier in den Pattern-Parametern.
    • palette, color_mode, direction, mirror als feste Controls (keine freien Textfelder) in der Web-UI beibehalten/abgesichert.
    • Palette auf zwei feste Gruppen mit den vorgegebenen Namen und Hex-Werten umgestellt; Host-Palette-Mapping auf dieselben IDs umgestellt.
    • Layout gezielt entkapselt: weniger harte Rahmen, leichtere Rails, kompaktere Topbar, mehr zusammenhaengende Arbeitsflaeche.
    • Preview-Grid auf feste 6 Spalten gesetzt und Tiles quadratisch gemacht (aspect-ratio: 1 / 1) fuer ein klares 3x6-Raster.
  • Gelaufene Tests:
    • cargo fmt --check
    • cargo test -q -p infinity_host
    • cargo test -q -p infinity_host_api --test contract
  • Browser-Handtest:
    • Versuch via lokalem Headless-Firefox auf 127.0.0.1:9002 ist in dieser Umgebung fehlgeschlagen (cannot open display: :0 / Firefox Headless-Crash).
  • Bewusste Abweichungen zur Python-Version:
    • Die neue, fest vorgegebene Palette-Liste ersetzt die alten Python-Palettenamen; das ist eine inhaltliche Vorgabe dieses Arbeitsschritts.

2026-04-20 - Palette ersetzen, linken Brightness-Slider entfernen, linke Rail entzerren

  • Geaenderte Dateien:
    • web/v1/index.html
    • web/v1/app.js
    • web/v1/styles.css
  • Fachliche Aenderungen:
    • Die Creative-Surface-Palette bleibt auf die kuratierte WS2812-Liste mit exakt vorgegebenen Namen und Hex-Werten beschraenkt.
    • Den unteren Brightness-Bereich in der linken Spalte vollstaendig entfernt; globale Helligkeit bleibt ausschliesslich im Header.
    • Den dynamisch aus Host-Parametern kommenden brightness-Control in der linken Rail ausgefiltert.
    • Die linke Rail moderat verbreitert und Parameterfelder so nachgezogen, dass Dropdowns, Labels und Farbwerte weniger gequetscht sind.
  • Gelaufene Tests:
    • cargo fmt --check
    • cargo test -q -p infinity_host
    • cargo test -q -p infinity_host_api --test contract
    • lokaler CLI-Smoke gegen temporaeren Host auf 127.0.0.1:9002 via /api/v1/state und /api/v1/preview
  • Bewusste Abweichungen zur Python-Version:
    • Keine; dieser Schritt korrigiert nur die Web-Darstellung und blendet den global redundanten Brightness-Slider links aus.

2026-04-20 - Technical Surface null-safe gegen fehlende recent_events

  • Geaenderte Dateien:
    • web/v1/technical.js
    • crates/infinity_host_api/tests/contract.rs
    • docs/codex_worklog.md
  • Fachliche Aenderungen:
    • Technical Surface gegen unvollstaendige oder startende Snapshot-Daten robuster gemacht.
    • recent_events, system, technical, nodes und panels werden in der UI jetzt ueber null-safe Helper mit Fallbacks gelesen.
    • Direkter Zugriff auf snapshot.recent_events.map(...) entfernt, damit /technical nicht mehr crasht, wenn das Feld fehlt.
    • Contract-/UI-Smoke-Test ergaenzt, der absichert, dass das ausgelieferte technical.js den Guard fuer fehlende recent_events enthaelt, waehrend /api/v1/state das Feld weiterhin weglassen darf.
  • Gelaufene Tests:
    • cargo fmt --check
    • cargo test -q -p infinity_host_api --test contract
    • lokaler Host-Smoke auf 127.0.0.1:9011 mit erfolgreichem Abruf von / und /api/v1/state
  • Bewusste Abweichungen zur Python-Version:
    • Keine; das ist ein reiner Stabilitaets-/Robustheitsfix in der bestehenden Web-Oberflaeche.

2026-04-20 - Browser-Smoke-Runner und Output-Disable-Fix

  • Geaenderte Dateien:
    • web/v1/technical.js
    • crates/infinity_host_api/tests/contract.rs
    • scripts/codex_browser_smoke.sh
    • docs/codex_worklog.md
  • Fachliche Aenderungen:
    • Technical-Output-Controls gegen Polling-/Apply-Rennen stabilisiert, indem waehrend saveOutputSettings() ein outputSaving-Zustand gesetzt wird.
    • Output-Controls werden waehrend des Speicherns kurz deaktiviert und der Draft wird in dieser Zeit nicht von Polling-Snapshots ueberschrieben.
    • Contract-Test ergaenzt, der absichert, dass output_enabled nach vorherigem Aktivieren wieder sauber auf false gesetzt werden kann.
    • Kleinen lokalen Browser-/Route-Smoke-Runner fuer Codex angelegt, der eine Kurzinstanz startet und /, /technical sowie /technical.js selbst prueft.
  • Gelaufene Tests:
    • cargo test -q -p infinity_host_api --test contract
    • scripts/codex_browser_smoke.sh 9012
  • Bewusste Abweichungen zur Python-Version:
    • Keine; der Schritt behebt einen Web-Workflow-Bug und verbessert nur den lokalen Debug-Pfad.