Files
Crumb-Core-v.1/docs/crumbforest/# SnakeCam Legacy Debug Log – Fehlerprot.md

3.2 KiB
Raw Blame History

SnakeCam Legacy Debug Log Fehlerprotokoll & Lessons Learned 🐍

Dieses Dokument fasst chronologisch die Hauptfehler und Verwirrungen zusammen, die im Verlauf der SnakeCam v4 Entwicklung aufgetreten sind inklusive Ursachen, Zeitpunkte und Lösungen. Ziel ist es, einen kindgerechten, reproduzierbaren Pfad zu erhalten ohne Frust.


🪓 Fehler 1: gestures_v4 wurde nicht als Modul erkannt

Wann: 15.06.2025 ca. 01:00 Uhr Fehler:

ModuleNotFoundError: No module named 'gestures.gestures_v4'

Ursache: gestures_v4 wurde als Datei ohne .py-Endung erstellt. Python erwartet .py zum Import. Lösung:

mv gestures_v4 gestures_v4.py

🎨 Fehler 2: Unicode/Emoji Problem beim Start

Wann: 15.06.2025 ca. 01:20 Uhr Fehler:

SyntaxError: Non-UTF-8 code starting with '\xe2'...

Ursache: Python-Datei enthielt ein Emoji (🐍), aber keine UTF-8-Deklaration. Lösung: Ganz oben einfügen:

# -*- coding: utf-8 -*-

🪞 Fehler 3: Kamera-Ausgabe war gespiegelt, trotz CSS-Korrektur

Wann: mehrfach Ursache:

  • Sowohl im Python-Code (cv2.flip(frame, 1)) als auch in styles.css war gespiegelt → Doppelt = wieder normal.
  • Dann wurde nur eins von beiden deaktiviert, was zu dauerhafter Spiegelung führte. Lösung:
# frame = cv2.flip(frame, 1)  # deaktivieren, wenn CSS schon spiegelt

Oder im CSS:

.mirrored {
    transform: none;
}

Empfehlung: Nur eine Spiegelung aktiv.


🧠 Fehler 4: Geste erkannt aber nichts passiert

Wann: gegen 02:00 Uhr Ursache: Geste wurde erkannt, aber die Funktion detect_hand_gesture() hatte fehlerhafte Grenzwerte oder zu grobe Bedingungen für z.B. Faust. Beispiel:

if defects == 0:
    gesture = "fist"

Aber diese Bedingung wurde nie erreicht. Lösung: Grenzwerte nachjustieren, Debug-Werte ausgeben (defects, area, ratio), clean v4 Version verwenden.


📦 Fehler 5: Eingabefeld antwort wurde nie gespeichert

Wann: 15.06.2025 ca. 02:50 Uhr Fehler:

{"antwort": ""}

Ursache:

answer = request.form.get("answer", "")  # FALSCH

Aber im HTML:

<input type="text" name="antwort">

Lösung:

answer = request.form.get("antwort", "").strip()

🧩 Lesson Learned

  • 🔁 Kleine Namensabweichungen (answer vs. antwort) können große Wirkung haben.
  • 🔍 Spiegelung und Bildausrichtung muss einheitlich erfolgen entweder CSS oder OpenCV.
  • 🐛 Fehler bewusst dokumentieren als Teil des Lernprozesses, nicht als Mangel.
  • 🧠 Kinder und Einsteiger brauchen Erfolgserlebnisse schnell nicht 7h Debugging für einen „Wave“.

Empfehlung

  • snake_log.jsonl regelmäßig prüfen (Einträge mit Inhalt?)
  • debug-Ausgaben im Terminal: hilfreich, aber kindgerecht beschriftet
  • Sobald ein Geste erkannt wird: 🥳 Reaktion auf dem UI sichtbar machen

Stand: 15. Juni 2025, 03:00 Uhr Commander: 🐍 SnakeCam Debug Taskforce Modulstatus: 🟢 gestures_debug_test.py läuft stabil mit Handerkennung, Logging funktioniert Faust wird nachjustiert.


📝 „Ein echter Fehler ist nur der, aus dem wir nicht lernen.“