Files
my-knowledge/projects.md
T

23 KiB
Raw Blame History

Inhalt

Enthält alle Projekte/Kontexte in denen ich schon tätig war. Jedes Projekt/Kontext besteht aus einem Link bzw Quell, einer Beschreibung, den Herausforderungen des Projektes und den verwendeten Lösungen.

Private Infrastruktur- und Backup-Automatisierung

  • Zeitraum: November 2018 bis Mai 2026, belegt durch eigene Commits im Repository.
  • Quelle: lokales Git-Repository lokale-scripte.
  • Kontext: Sammlung eigener Shell-, Batch- und PowerShell-Skripte zur Administration von Linux-, Server- und Arbeitsplatzumgebungen.
  • Herausforderungen: Zuverlässige Sicherung verteilter Daten, Redundanz durch externe Datenträger, plattformübergreifende Backup-Abläufe und Ausschluss nicht relevanter Daten wie Caches oder Papierkörbe.
  • Lösungen: Restic-Backups über SFTP; rsync-basierte Synchronisation; automatisierte Offsite-Backups; Geräteerkennung über Labels und UUIDs; VeraCrypt-gestützte Sicherungen unter Windows mit Robocopy; Wiederherstellungs- und Hilfsskripte.

Nextcloud-Backup und Betriebsautomatisierung

  • Zeitraum: März 2020 bis Mai 2026, belegt durch eigene Commits im Repository.
  • Quelle: lokale-scripte/linux/rsync-nextcloud/ und lokale-scripte/boogie/.
  • Kontext: Automatisierung der Sicherung und Wartung eigener Nextcloud-Instanzen.
  • Herausforderungen: Konsistente Sicherung einer laufenden Nextcloud-Instanz einschließlich Datenbanken; Zugriff auf Daten in Container- beziehungsweise Serverumgebungen; passwortlose und automatisierbare Serverkommunikation.
  • Lösungen: Umschalten des Nextcloud-Wartungsmodus während des Backups; rsync über SSH mit dediziertem Schlüssel; PHP-gestützte Datenbank-Dumps und Archivierung; Berechtigungsanpassungen nach der Synchronisation; Skripte für Nextcloud-Dateiscans und Aufräumarbeiten.

PhotoPrism-Indexierungsautomatisierung

  • Zeitraum: Oktober 2025 bis Januar 2026, belegt durch eigene Commits im Repository.
  • Quelle: lokale-scripte/bfds/root/photoprism-auto-index.sh.
  • Kontext: Automatisierte, cron-taugliche Indexierung einer PhotoPrism-Installation in Docker.
  • Herausforderungen: Vermeidung paralleler Indexierungsläufe, zuverlässiges Aufräumen bei Fehlern oder Abbrüchen und begrenztes Log-Wachstum.
  • Lösungen: Sperrdatei mit Ablaufzeit; Signalbehandlung für EXIT, INT, TERM und ERR; zeitgestempelte Protokollierung und Begrenzung der Logdateigröße; Ausführung des PhotoPrism-Kommandos über docker exec.

MediaWiki-zu-Obsidian-Migration

  • Zeitraum: August bis Oktober 2024, belegt durch eigene Commits im Repository.
  • Quelle: lokales Git-Repository ScrapeMediawiki.
  • Kontext: Python-Werkzeug zum vollständigen Abruf eines MediaWiki und zur Ablage der Inhalte als Markdown für Obsidian.
  • Herausforderungen: Vollständiger Abruf paginierter Wiki-Inhalte, Umwandlung von HTML und MediaWiki-Links in Markdown, Übernahme von Bildern und Revisionsinformationen sowie Abbildung von Seitenhierarchien.
  • Lösungen: Authentifizierte Abfrage der MediaWiki-API mit Fortsetzungsmarken; HTML-zu-Markdown-Konvertierung; Ablage von Seiten in Verzeichnissen anhand ihrer Titel; Download und Verlinkung von Bildern; Erzeugung eines Inhaltsverzeichnisses und von Metadaten zu Kategorien, Links und Revisionen; interaktive Nachbearbeitung von Wiki-Links.

Obsidian-Backup mit rsync und Git

  • Zeitraum: März 2026, belegt durch eigene Commits im Repository.
  • Quelle: lokales Git-Repository obsidian-backup.
  • Kontext: Konfigurationsgesteuertes Backup eines Obsidian-Vaults auf einem TrueNAS-Server mit Dateisynchronisation und versionsierter Historie.
  • Herausforderungen: Portabler, sicherer Zugriff auf entfernte Daten; Vermeidung leerer Backup-Commits; reproduzierbare Einrichtung ohne Zugangsdaten im Skript.
  • Lösungen: Umgebungsdatei für Quelle, Ziel, SSH-Konfiguration und Commit-Präfix; Validierung der Konfiguration; rsync über SSH mit Schlüssel oder benutzerdefiniertem Remote-Shell-Kommando; automatische Initialisierung eines Git-Repositorys; Commit nur bei tatsächlich geänderten Daten.

Deklarative NixOS-Heimserver-Konfiguration

  • Zeitraum: Januar bis November 2024, belegt durch eigene Commits im Repository.
  • Quelle: lokales Git-Repository bfds-configuration.nix.
  • Kontext: Modulare, deklarative Konfiguration eines NixOS-Servers für Dateiablage, private Cloud, Speicherverwaltung, Fernzugriff und Systemadministration.
  • Herausforderungen: Integration mehrerer Infrastrukturservices mit konsistenten Netzwerk-, Speicher- und Sicherheitsvorgaben; Bereitstellung von Dateiablagen für unterschiedliche Clients; automatisierbarer Betrieb und Upgrade-Prozess.
  • Lösungen: Aufteilung der NixOS-Konfiguration in eigenständige Module; Nextcloud mit PostgreSQL, nginx, HTTPS und ACME-Zertifikaten; ZFS-Datasets für die Dateiablage; Samba-Freigaben mit SMB2/SMB3 und erzwungener Signatur; Tailscale, OpenSSH und Cockpit für Fernzugriff und Administration; systemd-Service und -Timer für automatisierte Backup-Ausführung sowie automatische System-Upgrades.

Website für den Fuß- und Radentscheid Dresden

  • Zeitraum: März bis Juli 2022, belegt durch eigene Commits im Repository.
  • Quelle: lokales Git-Repository fuss-und-radentscheid-dresden.
  • Kontext: Statische Website einer Dresdner Bürgerinitiative für sichere, klima- und fußverkehrsfreundliche Mobilität.
  • Herausforderungen: Wiederverwendbare, responsive Seitenelemente für unterschiedliche Informationsinhalte; einheitliche Einbindung von Navigation, Kontakt- und Social-Media-Links; lokal reproduzierbarer Build unter Windows und Linux.
  • Lösungen: Erweiterung der Jekyll-Website um ein Full-Width-Kartenlayout auf Basis von Liquid-Templates; Anpassung von Karten- und Kontakt-Styles mit Sass; Pflege von Navigation, Footer und Social-Media-Verlinkungen; Dokumentation der lokalen Ruby-/Bundler-Installation und des Jekyll-Entwicklungsservers für Windows und Linux.

VISOR/OProc – Visualisierung offener Stadtentwicklungsprozesse

  • Zeitraum: August 2017 bis Mai 2018, belegt durch eigene Commits in den drei Projekt-Repositories.
  • Quellen: lokale Git-Repositories /Users/rob/code/visor/oproc, /Users/rob/code/visor/in-transit und /Users/rob/code/visor/d3-oproc.
  • Kontext: BMBF/Prototype-Fund-gefördertes Civic-Tech-Projekt in Kooperation mit Forschenden der HTW Dresden zur maschinenlesbaren Beschreibung und interaktiven Visualisierung öffentlicher, insbesondere partizipativer Stadtentwicklungsprozesse.
  • Teilprojekte: oproc enthält die Spezifikation eines offenen JSON-Datenmodells; in-transit implementiert den webbasierten VISOR-Prototyp; d3-oproc dokumentiert die Idee eines separaten Gantt-artigen Visualisierungsmoduls, blieb aber ein nicht implementiertes Konzeptgerüst.
  • Entwicklung des OProc-Datenmodells, Aufbau der Timeline, Datenimport und -fluss; Zeitachsen, Zoom und Verschieben; Swimlanes und kollisionsarme Prozessanordnung; Filterung, Suche; Weiterentwicklung und visuelle Integration des Abhängigkeitsgraphen.
  • Herausforderungen: Abbildung hierarchischer und miteinander verbundener Prozesse in einem offenen Datenformat; gleichzeitige Vermittlung von zeitlichem Verlauf, Abhängigkeiten und Beteiligten; lesbare Anordnung überlappender Prozesszeiträume; konsistente Interaktion und Filterung über mehrere gekoppelte Ansichten.
  • Lösungen: URL-basiertes OProc-Modell mit JSON-Objekten und Referenzen; komponentenbasierte Single-Page Application mit Preact; zentraler Anwendungszustand und abgeleitete Filterdaten mit Redux; SVG-basierte Timeline mit dynamischer Zeitprojektion, Zoom, Pan, Swimlanes und Überlappungsbehandlung; gerichtetes Graphlayout mit Dagre; Datumsausgabe mit Moment.js; gekoppelte Hover-, Auswahl-, Such-, Filter- und Detailinteraktionen.

Django-Lernprojekt mit Umfrage- und Blog-App

  • Zeitraum: 20. bis 28. Juni 2018
  • Quelle: /Volumes/rob/code/django-first-app.
  • Kontext: Schrittweiser Aufbau einer Django-Webanwendung mit den Apps polls und blog zum Erlernen der zentralen Framework-Konzepte.
  • Herausforderungen: Strukturierung von Projekt und Apps; Verknüpfung verschachtelter URL-Konfigurationen; Modellierung und Abfrage relationaler Daten; Verarbeitung von Formular-POSTs sowie Trennung von Darstellung und Anwendungslogik.
  • Lösungen: Django-ORM-Modelle Question und Choice mit Fremdschlüssel und Migration; SQLite als Entwicklungsdatenbank; Registrierung der Modelle im Django-Admin; funktionsbasierte und generische ListView-/DetailView-Ansichten; Templates und Kontextvariablen; Namespaces, get_object_or_404, reverse und Redirect-after-POST für den Abstimmungsablauf.

info.ngo – Django-CMS-Prototyp

  • Zeitraum: Juli 2019, belegt durch die Projektdateien vom 30. Juli 2019.
  • Quelle: lokales Projektverzeichnis /Volumes/rob/code/django-cms/info.ngo.
  • Kontext: Prototyp einer redaktionell pflegbaren Website auf Basis von Django CMS 3.6 und Django 1.x.
  • Herausforderungen: Aufbau frei editierbarer Seitenlayouts; Integration eines umfangreichen CMS-Plugin-Ökosystems; Navigation, Sitemap sowie konsistente Verwaltung von statischen Dateien und Medien.
  • Lösungen: Django-CMS-Templates mit Toolbar, Menüs, Sekizai-Blöcken und Platzhaltern für Vollbreiten- und Sidebar-Layouts; CMS-Sitemap und Django-Admin; SQLite-Datenbank; Plugins für CKEditor-Text, Links, Bilder, Dateien, Spalten, Styles, Snippets, Google Maps und Videos sowie django-filer, easy-thumbnails, Treebeard und MPTT.

info.ngo – Event-, Karten- und Datenplattform

  • Zeitraum: Juli bis August 2019; Teamprojekt mit eigenen, durch Git belegten Beiträgen vom 30. Juli bis 27. August 2019.
  • Quellen: Git-Repository /Volumes/rob/code/info.ngo/info.ngo, Django-Anwendung /Volumes/rob/code/info.ngo/info.ngo/InfoNgo_django und Wiederaufbaukopie /Volumes/rob/code/info.ngo/rebuild-rob/InfoNgo_django.
  • Kontext: Gemeinsame Entwicklung einer Python- und Django-Plattform zur Gewinnung, Normalisierung, Speicherung, Filterung und kartografischen Darstellung von Veranstaltungs- und Stiftungsinformationen.
  • Eigene belegte Beiträge: Abruf und Parsing der Stiftungssuche; Einlesen von Thunderbird-Mailboxen und Grundstruktur eines Mail-Parsers; Weiterentwicklung der Kalenderdaten-Auswertung; Dokumentation und Zusammenführung von Teamänderungen.
  • Herausforderungen: Heterogene Websites, HTML-Seiten und E-Mail-Formate; unregelmäßige Datumsangaben; Vermeidung doppelter Events und Orte; Geokodierung und räumliche Darstellung; gemeinsames Filtern und Paginieren; Überführung eigenständiger Scraper in eine Webanwendung bei weiter möglicher Standalone-Ausführung.
  • Lösungen: Requests, Beautiful Soup, lxml/html5lib, Python-mailbox und MIME-Verarbeitung sowie CSV-Ausgabe für die Datenerfassung; Django-2.1-Anwendung mit ORM-Modellen für Events und Locations, Migrationen, Many-to-many-Beziehung, eindeutigen Feldern und transaktionaler Importlogik; Factory-/Service-Layer zur JSON-Serialisierung und DB-Übernahme; Geokodierung mit Geopy und GeoJSON-Punkte mit djgeojson; Listenansicht mit django-filter, Datumsbereichsfilter und Paginierung; Leaflet-Karte mit zeitabhängig eingefärbten Material-Markern; Django-Templates, Authentifizierung, Crispy Forms, Bootstrap und jQuery; MySQL-Konfiguration mit SQLite-Sicherung sowie Python-3.7-/Conda-Umgebung und vorbereiteten Abhängigkeiten für PostgreSQL, Gunicorn, WhiteNoise, Heroku und S3-Speicher.
  • Varianten: Die Wiederaufbaukopie enthält denselben grundlegenden Django-, App- und Service-Layer; die Hauptvariante erweitert sie um dynamische Popup-Inhalte, zeitabhängige Farbwerte und Material-Icons für Leaflet-Marker.

WLAN-gesteuerter LED-Rahmen

  • Zeitraum: September 2022 bis Januar 2023, belegt durch eigene Commits im Repository.
  • Quelle: lokales Git-Repository VRKeting-LED-Rahmen.
  • Kontext: Entwicklung eines ESP8266-basierten LED-Rahmens mit browserbasierter Steuerung von Farbe und Lichteffekten.
  • Herausforderungen: Ansteuerung adressierbarer LEDs, Parametrisierung von Farben und Effekten über ein Netzwerk sowie Trennung von Websteuerung und LED-Logik.
  • Lösungen: ESP8266-Firmware mit WLAN-Verbindung und HTTP-Routen; eingebettete HTML-/JavaScript-Bedienoberfläche; C++-Klassen zur Kapselung der LED-Ansteuerung und von Effekten wie Farbwechsel, Lauflicht und Regenbogen; Anbindung eines 80 LEDs umfassenden WS2811/WS2812-kompatiblen Streifens über die Adafruit-NeoPixel-Bibliothek.

Rust-Ratespiel

  • Zeitraum: Oktober 2018, belegt durch eigene Commits im Repository.
  • Quelle: lokales Git-Repository rust_guessing_game.
  • Kontext: Konsolenbasiertes Lernprojekt in Rust.
  • Herausforderungen: Einlesen und Validieren von Nutzereingaben sowie Steuerung eines wiederholten Spielablaufs.
  • Lösungen: Erzeugung einer Zufallszahl mit dem Crate rand; Verarbeitung von Standardeingaben; Umwandlung in einen vorzeichenlosen Integer mit match-basierter Fehlerbehandlung; Vergleich der Werte über Ordering; Schleife bis zum korrekten Tipp; Cargo-Konfiguration und VS-Code-Task für cargo run.

Threetris: 3D-Falling-Block-Prototyp

  • Zeitraum: November 2018, belegt durch eigene Commits im Repository.
  • Quelle: lokales Git-Repository threetris.
  • Kontext: Früher 3D-Prototyp eines Falling-Block-Spiels in Rust.
  • Herausforderungen: Aufbau einer 3D-Szene, zeitgesteuerte Bewegung eines Spielsteins, Verarbeitung von Gamepad-Eingaben und Begrenzung der Bewegung auf das Spielfeld.
  • Lösungen: 3D-Fenster, Kamera, Plattform und Würfel mit kiss3d; Zustandsmodell über eine BrickPos-Struktur; zeitgesteuertes Fallen mit Instant und Duration; Gamepad-Abfrage über stick; Begrenzung der X-, Y- und Z-Koordinaten durch eine eigene Funktion; erneutes Erzeugen eines Würfels beim Erreichen des Spielfeldbodens.

ChipAcademy AR-Viewer-PackageBuilder

  • Zeitraum: 2020
  • Quelle: lokales Unity-Arbeitsverzeichnis ChipAcademy/ARViewer Package, ChipAcademy/BackendConnector und ChipAcademy/Backend/Scripts.
  • Kontext: Unity-PackageBuilder für konfigurierbare AR-Lernszenen und deren Bereitstellung im AR Viewer.
  • Herausforderungen: Wiederverwendbare Konfiguration von 3D-Modellen und Interaktionen; plattformspezifische Bereitstellung von Szeneninhalten; Abbildung von Lern- und Prüfungsinteraktionen mit Text-, Bild-, Video- und Animationsmarkern.
  • Lösungen: Unity-Editor-Menüs zum Erzeugen von AssetBundles für Android, Windows und iOS sowie zum Export des Builder-Pakets; ScriptableObject zur Konfiguration von Modell, Markern und Cross-Section-Darstellung; Laufzeitlogik für Lern- und Prüfungsmodus, Schrittsequenzen, Videoanzeige und Zuordnungsinteraktionen; Drupal-8.7.7-Backend mit XML-Endpunkt für Szenenmetadaten, Bild- und Beschreibungsdaten sowie plattformspezifische AssetBundle-URLs.

VR-Training für EnviaM-Umspannwerk

  • Zeitraum: Dezember 2019 bis Juli 2022
  • Quelle: vr-bits/EnviaM_Umspannwerk.
  • Öffentlicher Showcase: https://www.vrbits.de/portfolio/virtuelle-trainingsanwendungen-enviam/
  • Kontext: Unity-VR-Anwendung zur Vermittlung von Abläufen in einem Umspannwerk.
  • Herausforderungen: Geführte und prüfbare Arbeitsschritte mit unterschiedlichen Schwierigkeitsgraden; realistische Rückmeldung von Spannungszuständen; zuverlässige Teleportation und GUI bei Szenenwechseln.
  • Lösungen: Integration von SteamVR, OpenVR, Oculus und VRTK; StepManager-basierte Schrittsteuerung mit Tutorial- und Testmodus; Zustandsmodell für Schalterverriegelungen und Spannungsprüfung einschließlich LED- und Display-Rückmeldung; Fehlererkennung für falsche Verriegelungen; asynchrones Laden und Entladen von Szenen sowie Teleportation mit konfigurierbarem Bildschirm-Übergang.

MMS AssetDownloader

  • Zeitraum: Juli bis August 2025
  • Quelle: vr-bits/AssetDownloader und Telekom DevOps GitLab.
  • Kontext: Unity- und .NET-Standard-Bibliothek zum Herunterladen, Zwischenspeichern und Vorbereiten von 3D-Assets für eine Production-Manual-Anwendung.
  • Herausforderungen: Robuste asynchrone Downloads großer Dateien mit Fortschrittsanzeige, Abbruch und Wiederaufnahme; überprüfbare Cache-Konsistenz; Trennung einer Unity-agnostischen Kernbibliothek von der Unity-Anbindung; Unterstützung mehrerer 3D-Dateiformate.
  • Lösungen: HTTP-Streaming mit temporären Dateien und Range-Requests für wiederaufnehmbare Downloads; konfigurierbare parallele Download-Jobs, Fortschritts- und Fehlerereignisse sowie Dateicache mit Prüfsummen und Metadaten; Formatprüfung für glTF, GLB, USD und USDZ sowie Unity-Wrapper; testgetriebene Entwicklung mit NUnit, Moq, HTTP-Mocks und Arrange-Act-Assert-Tests für Download, Cache, Abbruch, Integrität, Import und Resume.

Roche Prozessrallye

  • Zeitraum: April bis November 2021
  • Quelle: vr-bits/RocheProzessRallye.
  • Kontext: Unity-Anwendung zur spielerischen Vermittlung von Prozessschritten in Produktion, Produktionskoordination, Ansatz, In-Process-Kontrolle, Abfüllung, Verpackung und Endfreigabe.
  • Herausforderungen: Abbildung eines fortlaufenden Lernspiels mit aufeinander aufbauenden Stationen; Verwaltung von Versuchen, Erfolgen, Zeit und Budget; Navigation zwischen Weltkarte, Innenräumen und Minispielen sowie Einbindung von Lernvideos.
  • Lösungen: Sieben Minispiele mit ereignisgesteuerter Freischaltung der nächsten Station; persistente Spiel-, Charakter-, Zeit-, Budget- und Ergebnisdaten sowie ein mit Paritätsbit geschützter Fortsetzungscode; Navigation über NavMesh mit additiv geladenen Innenraumszenen und vorab geladenen Szenen; Video-UI mit Streaming-URLs, Ladezustand, Seitenverhältnis- und Wiedergabesteuerung.

TenneT 2GW Platform

  • Zeitraum: Februar bis Oktober 2023, belegt durch eigene Commits im Repository.
  • Quelle: lokales Git-Repository Tennet2GWPlatform.
  • Öffentlicher Showcase: https://www.vrbits.de/portfolio/tennet-2gw-program/
  • Kontext: Interaktive 3D-Webvisualisierung von TenneTs 2-GW-Offshore-Konverterstation. Sie erläutert die direkte 66-kV-Anbindung von Windparks, die Kombination aus Umspannwerk und HGÜ-Konverter sowie den Stromfluss bis zur Landanbindung in Deutsch, Englisch und Niederländisch.
  • Herausforderungen: Hochwertige 3D-Visualisierung einer komplexen Energieinfrastruktur für Web und XR; intuitive Navigation zwischen Außen-, Innen- und Detailansichten; browserübergreifend lesbare, mehrsprachige Inhalte auf Desktop, Tablet und Mobilgeräten.
  • Lösungen: Unity-Szene mit Needle-Engine-Export in eine Vite-/TypeScript-/Three.js-Webanwendung und glTF-Optimierung; eigene TypeScript-Komponenten für erweiterte Orbit-Kamerasteuerung mit Raycast-Fokus und weichen Kameraübergängen, Distanz- und Idle-Verhalten, Wasser- und Partikelanimationen; WebXR-Interaktion mit Select-/Squeeze-Ereignissen und Teleportation; HTML-/CSS-Content-Overlay mit Steuerung aus der 3D-Anwendung; responsive Layouts, Medienabfragen, dynamische Textgrößen und Querformat-Hinweise für verschiedene Bildschirmgrößen und Pixeldichten.

Roche RMD Rotkreuz – WebGL-Training für Laborabläufe

  • Zeitraum: September 2022 bis Januar 2025
  • Quelle: Git-Repository Roche-RMD-Rotkreuz
  • Nicht öffnentlicher Showcase: https://local.vr-bits.de/showcases/Roche-iPad/
  • Kontext: Unity-WebGL-Anwendung für interaktive, modulare Schulungen zu Laborbereichen und -abläufen, darunter Chemieraum, Kühlraum, Schleusen, Flowbox, Freezer und Abfallmanagement.
  • Herausforderungen: Wiederverwendbare Umsetzung zahlreicher Teiltrainings mit geführten 3D-Interaktionen; zuverlässige Persistenz und Auswertung von Trainingsfortschritten im Browser; Übergabe der Lernstände an das Cornerstone-LMS; wartbare mehrsprachige Inhalte und automatisierte Auslieferung der WebGL-Anwendung.
  • Lösungen: Mindport VR Builder mit JSON-basierten Prozessen sowie eigene Komponenten und Editor-Werkzeuge zum Generieren von Teiltrainings und ScriptableObject-basierten Workplans; Zustandsverwaltung pro Trainingsmodul und Rücksetzen der Browserdaten über PlayerPrefs; C#-/JavaScript-Brücke mittels Application.ExternalCall, postMessage und eingebetteter Iframes zur Übernahme und Meldung erfolgreicher Teiltrainings sowie des Gesamtstatus an das LMS; SCORM- und anschließend AICC-HACP-Paketierung für Cornerstone; Anpassung von Unity-Localization-String-Tables anhand von CSV-Dateien; GitHub-Actions-Pipeline mit GameCI für WebGL-Build und Deployment.

SaxoCellTraining – WebGL-Training für die Personalschleuse

  • Zeitraum: Juni bis September 2024
  • Quelle: lokales Git-Repository SaxoCellTraining.
  • Öffentlicher Showcase: https://www.vrbits.de/portfolio/digitaler-tuersteher/
  • Nicht öffentlicher Showcase: https://local.vr-bits.de/showcases/SaxoCell-iPad/index.html
  • Kontext: Auf Basis der Roche-RMD-Erfahrung entwickelte Unity-WebGL-Anwendung für interaktive Schulungen in einer Personalschleuse. Die Anwendung kombiniert eine Übersichtskarte mit einem Trainingsbereich und vermittelt unter anderem Umkleide-, Schuh- und Handschuhabläufe.
  • Herausforderungen: Übertragung der modularen Trainingsarchitektur auf ein neues Fachszenario; geführte und nachvollziehbare Teiltrainings mit Fortschritt; mehrsprachige, redaktionell pflegbare Inhalte; nutzbare Darstellung auf Desktop und iPad im Browser.
  • Lösungen: Mindport-VR-Builder-Prozesse und WorkplanData-basierte Modulverwaltung mit lokalisierter Dropdown-Navigation, Erfolgsmarkierungen, optionaler sequenzieller Freischaltung und automatischem Start des nächsten Trainings; Addressable-Szenen und Lokalisierungsressourcen für das Nachladen von Trainings- und Sprachinhalten; Synchronisation der String-Tables mit Google Sheets einschließlich Rich-Text-Unterstützung; angepasste WebGL-Templates für Fullscreen, Seitenverhältnis, Ladeanzeige und Hinweise bei Hochformat; Entwicklung eines SceneGenerator-Zweigs mit konfigurierbarer Interactable-Auswahl, Workplan-Output und Prozessvorlagen, aus dem später das eigenständige TrainingGenerator-Paket hervorging.

VR Builder Scene Generation / TrainingGenerator

  • Zeitraum: Oktober 2024 bis September 2025
  • Quelle: lokales Git-Repository _vrbits\de.vrbits.vrbuilder.scenegeneration.
  • Kontext: Aus dem Roche-RMD-Projekt ausgegliedertes Unity-UPM-Paket zur wiederverwendbaren Erzeugung von 2D-Web-/Standalone- und VR-Trainingsszenen aus Lokalisierungs-CSV-Dateien. Das Paket liegt in Version 0.2.0 vor und verwendet Mindport VR Builder 5.3.2.
  • Herausforderungen: Reproduzierbare Erzeugung vieler Teiltrainings samt Lernfortschritt aus einer Inhaltsquelle; konsistente Verknüpfung von Unity-Szene, Lokalisierung, Workplan und VR-Builder-Prozess; Unterstützung sowohl interaktiver Editor-Nutzung als auch automatisierter Erstellung und Prüfung.
  • Lösungen: UI-Toolkit-basierter Unity-Editor-Wizard mit Auswahl von 2D- oder VR-Szenentemplates und String-Tables; CSV-Import in Unity Localization, Auswertung der Inhalts-Schlüssel für Teiltrainings und Infopunkte sowie Generierung der zugehörigen StringTable-Collections; Erzeugung von ScriptableObject-Workplans und VR-Builder-Prozessdateien aus JSON-Templates, einschließlich Eintrag des jeweils erzeugten Prozesses in die Runtime-Konfiguration; Paketstruktur mit getrennten Assembly Definitions, Samples und 2D-/VR-Templates; JSON-parametrisierter Batchmode-Aufruf über Unity CLI mit anschließendem WebGL-Build; NUnit-Regressionstests für UI- und Objektpositionen, Kamera, Addressables, VR Builder und Lightmaps.

3D Vista Rundgang: Netzbooster Kupferzell

Öffentlicher Showcase: https://www.transnetbw.de/de/netzbooster-anwendung/

3D Vista Rundgang: Umspannwerk Conneforde

Nicht öffentlicher Showcase: https://local.vr-bits.de/showcases/UWConneforde/index.htm