Projektregeln und Modul-Anleitungen ergänzen

This commit is contained in:
marcinator_2 committed 2026-10-01 03:23:22 +02:00
1 parent e071fbad2a
commit 643146599d
5 files changed
+77

No files matched your search

+5
View File
@@ -15,6 +15,11 @@ Versorgung und Sicherheit im Plan.
- Auf Deutsch, klar und knapp kommunizieren. - Auf Deutsch, klar und knapp kommunizieren.
- `PLAN.md` als Arbeitsplan pflegen; erledigte Punkte, offene Entscheidungen - `PLAN.md` als Arbeitsplan pflegen; erledigte Punkte, offene Entscheidungen
und verifizierte Ergebnisse getrennt dokumentieren. und verifizierte Ergebnisse getrennt dokumentieren.
- Diese `AGENTS.md` nach dauerhaften Änderungen an Architektur, Betrieb,
Sicherheit oder Werkzeugen im selben Arbeitsgang aktualisieren.
- Vor Änderungen in `halloween/`, `tools/`, `tests/` oder `preview/` die dortige
`instructions.md` lesen und bei geänderten Verträgen oder Abläufen
aktualisieren. Neue Modulordner erhalten eine eigene `instructions.md`.
- Vor Änderungen vorhandene Dateien und tatsächliche Hardware prüfen. - Vor Änderungen vorhandene Dateien und tatsächliche Hardware prüfen.
- Vorschläge und Annahmen ausdrücklich kennzeichnen; keine Kameramodelle, - Vorschläge und Annahmen ausdrücklich kennzeichnen; keine Kameramodelle,
Motorleistungen, Anschlüsse, Netzwerkadressen oder Preise erfinden. Motorleistungen, Anschlüsse, Netzwerkadressen oder Preise erfinden.
+23
View File
@@ -0,0 +1,23 @@
# Modul `halloween/`
Hier liegt die erste Pi-WebUI. `run.py` im Projektstamm startet sie.
- `camera.py` liefert ein gemeinsames MJPEG-Bild für mehrere Betrachter.
`--demo` erzeugt ausdrücklich gekennzeichnete Testbilder; echte Kamera
läuft nur über Picamera2 auf dem Pi. Kamerafehler sichtbar melden.
- `controller.py` enthält bislang ausschließlich die simulierte
Effekt-Zustandslogik. Stopp bleibt bis zum Rücksetzen bestehen; nach Start
oder Rücksetzen muss erst der Bereich frei sein und dann ein neuer Trigger
kommen. Beschädigte Einstellungen schalten auf `aus`.
- `web.py` bietet WebUI und API; `index.html` ist die Oberfläche. `run.py`
bindet an `127.0.0.1`, Zugriff vom Laptop erfolgt per SSH-Tunnel.
- Der Header `X-Halloween-UI` ist nur eine einfache Schranke für
Schreibaufrufe, kein echter Zugangsschutz. Vor Betrieb mit anderen
Netzfreigaben Authentifizierung entwerfen und prüfen.
- Laufzeitdaten liegen standardmäßig unter `data/` und werden weder
hochgeladen noch in Git aufgenommen.
- Echte GPIO-/Aktorsteuerung erst nach geklärter Mechanik, Versorgung,
sicherem Stopp und den Hardwaretests aus `PLAN.md` ergänzen.
Bei Änderungen an Zustandsübergängen oder Endpunkten die zugehörigen Tests
unter `tests/` und die Bedienhinweise in `SOFTWARE.md` prüfen.
+15
View File
@@ -0,0 +1,15 @@
# Modul `preview/`
Die Blender-Szenen illustrieren das Konzept; sie sind kein Nachweis für
echte Mechanik oder Personenerkennung.
- `README.md` und die Unterordner `v2/`, `v3/`, `v4/` beschreiben die
jeweiligen Fassungen. Neue Fassungen mit Ziel, Änderungen und tatsächlich
geprüften Bildern/Videos dokumentieren.
- Bearbeitbare `.blend`-Szenen sind Git-Quellen. Gerenderte Bilder, Videos,
Tondateien und `.blend1`-Backups liegen nur lokal; sie werden durch
`.gitignore` ausgeschlossen.
- Reproduktions- und Prüfscripte liegen unter `tools/`; Pfade in den
README-Dateien aktuell halten.
- Bildprüfung, vollständigen Videorender und reale Hardwareprüfung klar
getrennt ausweisen. Ein Standbild belegt keine Bewegung im fertigen Video.
+13
View File
@@ -0,0 +1,13 @@
# Modul `tests/`
Automatische Tests prüfen die aktuelle Software ohne Pi-Hardware.
- `test_controller.py` prüft Zustandswechsel, Stopp, Neustartvoraussetzungen
und gespeicherten Modus mit kontrollierter Uhr und temporären Daten.
- `test_web.py` prüft Demo-Bild und Webendpunkte über einen ASGI-Client.
- Lokal ausführen: `python3 -m unittest discover -s tests -v`; für Webtests
wird zusätzlich `requirements-dev.txt` benötigt.
- Hardwareverhalten, echte Pi-Kamera, WLAN, SSH-Tunnel und Außeneinsatz nicht
aus einem grünen Host-Test ableiten; diese Prüfungen getrennt berichten.
- Tests für neue Sicherheits- oder Zustandsregeln an beobachtbarem Verhalten
ausrichten, nicht bloß interne Implementierung spiegeln.
+21
View File
@@ -0,0 +1,21 @@
# Modul `tools/`
Hier liegen Pi-Transfer/Einrichtung und die reproduzierbaren Blender-Werkzeuge.
- `upload_to_pi.sh` zeigt ohne `--apply` nur eine Vorschau. Beim Übertragen
keine Dateien auf dem Pi löschen; `.git`, `.venv`, `data`, Vorschauen,
Referenzen und Schlüsseldateien ausgeschlossen lassen. SSH-Hostschlüssel
weiterhin prüfen.
- `install_pi_service.sh` richtet den optionalen systemd-Autostart ein.
Die Python-Umgebung muss vorher auf dem Pi eingerichtet sein. Der Dienst
bindet über `run.py` nur an `127.0.0.1`; `sudo` nur bei `--apply`.
- Render-, Ton- und Prüfscripte unter `tools/` erzeugen Dateien in
`preview/`. Bearbeitbare `.blend`-Szenen werden versioniert, gerenderte
Medien und `.blend1`-Backups bleiben lokal.
- Keine Pi-Adressen, Zugangsdaten, WLAN-Schlüssel oder Gerätemodelle in
Skripten fest eintragen. Zielwerte kommen aus Argumenten oder werden am
tatsächlichen Gerät geprüft.
Änderungen an Upload- und Installationsbefehlen in `UPLOAD.md` und
`SOFTWARE.md` nachführen; Renderabläufe in den jeweiligen README-Dateien
unter `preview/` dokumentieren.