In der Aufgabe 4 wurden die Ergebnisse der Aufgaben 1-3 in eine Demoanwendung integriert. Diese Dokumentation beschreibt die Funktionsweise der Demoanwendung und die Möglichkeiten zur Erweiterung. Unterteilt wird die Dokumentation in die jeweiligen Anwendungsobjekte:
- Intro
- ARlebnis-Pfade Wahl
- ARlebnisse in der Nähe
- ARlebnis über QR-Code starten
- Ein ARlebnis starten
- Datenhaltung für ARlebnisse und Pfade
- Implementierte Funktionen: Willkommens-Video / Navigations-Auswahl
- Anpassungen: Das Video startet erst, nach einer Nutzerinteraktion: "Einführung beginnen". Autoplay ist in den meisten Browsern nur nach Interaktion erlaubt (siehe https://developer.mozilla.org/en-US/docs/Web/Media/Autoplay_guide#autoplay_availability)
- Fehlende Funktionen: Keine
- Implementiert Funktionen: Dynamische Übersicht über Pfade (siehe auch Abschn. Datenhaltung)
- Anpassungen: Keine
- Fehlende Funktionen: Die Pfade sind noch nicht mit der Karte verknüpft. Die Pfade können noch nicht gestartet werden.
- Implementiert Funktionen: Dynamische Übersicht über ARlebnisse in der Nähe (siehe auch Abschn. Datenhaltung)
- Anpassungen: Live Entfernungsberechnung der ARlebnisse in der Nähe / Sortierung nach Entfernung / Starten der ARlebnisse über Klick auf den Eintrag
- Fehlende Funktionen: Keine
- Implementiert Funktionen: keine
- Anpassungen: Keine
- Fehlende Funktionen: QR-Code Scanner
- Implementiert Funktionen: Starten eines spezifischen ARlebnisses
- Anpassungen: Anzeige der Live-Entfernung zum ARlebnis
- Fehlende Funktionen: Keine
Alle ARlebnisse werden strukturiert nach Pfaden organisiert. Ein Pfad besteht aus mehreren ARlebnissen. Die Datenhaltung ist in der Datei src/_data/arExperiences.ts
implementiert. Das Konstrukt speichert auch Meta-Informationen wie Titel, Beschreibung und Bild für die Übersichtsseiten. So können ARlebnisse dynamisch in der Anwendung dargestellt werden.
Die Szene als solches wird als SvelteComponent angelegt und in src/components/scenes/
definiert. Sie wird dynamisch in der Anwendung geladen und gestartet. Allgemein-gültige Funktionen werden in src/components/scenes/common.ts
definiert.