# HartOMat Project Overview ## Überblick HartOMat ist eine Produktionsplattform für technische Visualisierung. Die Anwendung verbindet CAD-Import, Datenaufbereitung, Material-Mapping, Produkt- und Asset-Verwaltung sowie eine Blender-basierte Render-Pipeline in einer gemeinsamen Oberfläche. Parallel dazu wird die Render-Orchestrierung von einem Legacy-Workflow auf ein node-basiertes Produktionsmodell migriert, ohne dass der bisherige Produktionsweg ausfallen darf. ## Positionierung HartOMat ist kein isolierter Renderer, sondern die operative Schicht zwischen technischen Quelldaten und reproduzierbarer Medienproduktion. Das Projekt ist darauf ausgelegt, CAD-Assets, kommerzielle Output-Varianten, Template-Logik und Worker-Ausführung in einem System zusammenzuhalten. ## Was das System heute abdeckt - STEP/CAD-Import mit nachgelagerter Aufbereitung - Produkt-, Medien-, Order- und Admin-Oberflächen - Render Templates für definierte Licht- und Kamera-Setups - Output Types als steuerbare Produktionsprofile - Graph-basierter Workflow-Editor mit Legacy-Kompatibilität - Worker-basierte Renderausführung mit Docker, Celery und Blender ## Zielnutzen - Weniger manuelle Übergaben zwischen CAD, Medienproduktion und Admin - Reproduzierbare Render-Ergebnisse durch Templates und definierte Output Types - Sichere Migration in Richtung node-basierter Produktion ohne Abschalten des Bestandssystems - Klare Trennung zwischen operativen Profilen, Workflow-Definitionen und Render-Modulen ## Laufende Architekturidee Das Zielbild ist eine modulare Produktionskette, in der einzelne Prozessschritte als wiederverwendbare Backend-Module im Workflow-Editor verfügbar sind. Dazu gehören insbesondere: - CAD-Import und Dateiauflösung - Geometrie- und GLB-Aufbereitung - Materialzuordnung und Auto-Population - Template-Auflösung - Blender-Rendering - Ergebnis-Persistierung und Benachrichtigung Der Legacy-Weg bleibt dabei als Sicherheitsnetz parallel aktiv. Weiterführende Architektur- und Migrationsdokumente: - [WORKFLOW_MIGRATION_PLAN.md](workflows/WORKFLOW_MIGRATION_PLAN.md) - [NODE_BASED_PRODUCTION_ARCHITECTURE.md](workflows/NODE_BASED_PRODUCTION_ARCHITECTURE.md) - [WORKFLOW_IMPLEMENTATION_BACKLOG.md](workflows/WORKFLOW_IMPLEMENTATION_BACKLOG.md) ## HowTo ### 1. Umgebung starten Alle Kommandos werden vom Repo-Root aus ausgeführt. ```bash cp .env.example .env ./scripts/start.sh ``` Danach sind standardmäßig erreichbar: - Frontend: `http://localhost:5173` - Backend API: `http://localhost:8888/docs` - MinIO Console: `http://localhost:9001` ### 2. Mit lokalem Admin anmelden Der Backend-Startprozess führt Migrationen und Seeds aus. Für lokale Entwicklungsumgebungen ist standardmäßig ein Admin-Benutzer vorhanden: - E-Mail: `admin@hartomat.com` - Passwort: `Admin1234!` ### 3. Zentrale Bereiche im UI - `/` zeigt Dashboard, KPIs und den operativen Einstieg - `/products` und einzelne Produktseiten bündeln Medien, Vorschauen und Produktdaten - `/admin` verwaltet Output Types, Render Templates, Asset Libraries und Systemeinstellungen - `/workflows` ist die Arbeitsfläche für Legacy-kompatible Graph-Workflows ### 4. Typischer Produktionsfluss 1. CAD-Datei oder Medienquelle hochladen. 2. Produktdaten, Materialzuordnung und Bibliotheken prüfen. 3. Render Template und Output Type auswählen. 4. Produktion über Legacy- oder Graph-Workflow starten. 5. Ergebnisse im Produkt, Auftrag oder Medienkontext kontrollieren. ### 5. Stack steuern ```bash ./scripts/restart.sh ./scripts/restart.sh --build ./scripts/restart.sh backend ./scripts/stop.sh docker compose ps docker compose logs -f ``` ## Screenshots ### Dashboard ![HartOMat Dashboard](assets/screenshots/dashboard.png) Das Dashboard ist der operative Einstieg in Produkte, Aufträge, KPIs und offene Prozessschritte. Für die Projektdokumentation werden hier Dark-Theme-Screenshots aus der laufenden lokalen Instanz verwendet. ### Workflow Editor ![HartOMat Workflow Editor](assets/screenshots/workflow-editor.png) Der Workflow-Editor ist die Zieloberfläche für die modulare Produktionskette. Hier werden Legacy-Bridge-Nodes, Referenzpfade und graph-native Nodes zusammengeführt. ### Product Detail ![HartOMat Product Detail](assets/screenshots/product-detail.png) Auf der Produktdetailseite laufen Geometrie, Medien, Materialzuordnung, Vorschau und Folgeaktionen zusammen. ### Admin ![HartOMat Admin](assets/screenshots/admin.png) Die Admin-Oberfläche bündelt die Konfiguration von Render Templates, Output Types, Asset Libraries und Systemparametern. ## Betriebsnotizen - Docker Compose nutzt den Stack-Namen `hartomat`. - Der Backend-Container führt beim Start Migrationen und Seeds aus. - GPU-Rendering ist auf den Blender-Worker ausgelegt und erwartet funktionierende Host-/Docker-GPU-Weitergabe. - Für tiefergehende Workflow- und Paritätsarbeit liegen zusätzliche Dokumente unter [`docs/workflows/`](workflows/).