# appRobotHoming

`appRobotHoming` ist eine browserbasierte Benutzeroberfläche für die
WebCam-gestützte Ermittlung der Roboterpose. Der Einstieg bleibt als einfaches
Frontend erhalten, während die Auswertung künftig an den BodyTracker weitergeleitet
wird.

## Was das Projekt jetzt macht
- Holt aus der WebCam alle 3 bis 10 Bilder ab (siehe `doc/README_WebCam.md`).
- Zeigt ausgewählte Bilder und die zugehörigen `.npz`-Daten in einer Auswertungsansicht.
- Übergibt diese Daten an den BodyTracker (`doc/README_BodyTracker.md`).
- Ermittelt daraus die Roboterpose und gibt sie aus.

## Aktueller Fokus
- Benutzeroberfläche bleibt der Einstieg.
- Bildanzeige und Poseausgabe sind zentral.
- Der alte HTTPS/WSS-Server wurde entfernt.
- `certs/`, `scripts/` und `server/` sind nicht mehr Teil des aktuellen Projekts.

## Integration
- Die WebCam- und BodyTracker-Aufrufe laufen über das Backend, nicht direkt aus dem Browser.
- Das Frontend lädt Snapshot-Daten über `/api/latest-snapshot`.
- Der Browser sendet Pose-Anfragen an `/api/estimate`.
- Das Backend kann dann auf interne Docker-Container zugreifen, z. B. auf den WebCam-Service und den BodyTracker-Service.
- Als Fallback verwendet das Backend lokale `public/snapshots`, wenn keine externe WebCam verfügbar ist.
- Konfigurierbare Umgebungsvariablen:
  - `WEBCAM_URL` – Basis-URL des internen Webcam-Services.
  - `BODYTRACKER_URL` – Basis-URL des internen BodyTracker-Services.

## Geplante Erweiterungen
1. Pose an `appRobotDriver` weitergeben.
2. Wenn die Hand nicht erkannt wird: Vorschlag für eine bessere Arm-/Foto-Position.
3. Manuelle Eingabe von `x, y, z, a, b, c, e`.
4. Erkennungsergebnis und erkannte Pose klar im UI ausgeben.

## Dateien & Struktur
- `public/` – Frontend, UI, Client-Logik und Anzeige.
- `doc/README_WebCam.md` – Details zur Webcam-Architektur und Bildabholung.
- `doc/README_BodyTracker.md` – BodyTracker-Integration und Poseermittlung.
- `test/` – bestehende Tests für die Berechnung und Auswertung.

## Nutzung
1. `npm install`
2. `npm test`
3. Öffne `public/index.html` im Browser oder nutze einen beliebigen statischen Server.

> Hinweis: Die Anwendung ist aktuell als Frontend/Analyse-UI aufgebaut. Die
> Backend-Serverlogik aus früheren Versionen wurde bereinigt, um das Projekt zu
> fokussieren.
