# SOEST SCAN · Community Mesh Beta 0.3.7.0

## Ziel
SOEST SCAN sammelt **gezielte Reparaturhinweise und freiwillige 3D-Scans** für kleine Bereiche der Spielwelt. Das System ist nicht dafür gedacht, Passanten oder private Lebensbereiche zu erfassen.

Grundsatz: **Orte scannen – keine Menschen.**

## Datenschutz- und Sicherheitsmodell
- kein Mikrofonzugriff; `Permissions-Policy` sperrt Mikrofon explizit
- Kameratest bleibt lokal im Browser und wird nicht aufgezeichnet
- Fehlerberichte enthalten keine Bilder, keinen Namen und bewusst keine gespeicherte IP im Reportdatensatz
- Community-Scans werden niemals automatisch veröffentlicht
- Uploads landen in `data/community/quarantine/`; der komplette `data/community/`-Baum ist per `.htaccess` für direkte Webzugriffe gesperrt
- Upload nur nach Bestätigung, dass keine erkennbaren Personen, Kennzeichen oder privaten Innenräume enthalten sind
- vor einer Übernahme sind Privacy-, Geometrie- und Alignment-Prüfung vorgesehen

## Datenvolumen
Uploads werden in 1-MiB-Blöcken übertragen. Standardlimit: 250 MiB pro Beitrag. Der Browser warnt bei nicht eindeutig erkanntem WLAN bzw. potenziell datenintensiver Verbindung. Rohvideo soll nicht hochgeladen werden; bevorzugt werden bereits reduzierte 3D-Dateien.

Unterstützte Eingabeformate: GLB, glTF, PLY, OBJ, STL, USDZ, LAS, LAZ und ZIP. Für die endgültige Pipeline sind GLB/glTF bzw. Punktwolken geeigneter als STL, weil STL keine Texturen/Georeferenzierung mitbringt.

## Pipeline
`SOURCE-CACHE → ACCEPTED → REPAIRED → COMMUNITY → GAME-MESH`

- `world/soest/source-cache/`: später lokal gespeicherte Ausgangstiles, nur bei geklärter Nutzungsberechtigung
- `world/soest/accepted/`: geprüfte Ausgangsbereiche, die ohne Änderung spielbar bleiben
- `world/soest/repaired/`: manuell korrigierte Bereiche
- `world/soest/community/`: geprüfte und ausgerichtete Community-Beiträge
- `world/soest/game-mesh/`: veröffentlichungsfertige Spiel-Fassung

Die Ordner sind in 0.3.7.0 vorbereitet, aber es findet **noch keine automatische Übernahme** von Community-Scans ins Game-Mesh statt.

## Road Height Guard
Der sichtbare StreetGuard ist keine starre horizontale Platte mehr. Seine Ecken werden nur am bereits geladenen Photomesh gemessen. Unplausible, zu weit auseinanderliegende oder unvollständige Messungen blenden die Fläche aus, statt eine schwebende Straßenplatte zu rendern. Die Messung ist gedrosselt und lädt keine zusätzlichen Detailtiles nach.

## Browser-Direktscan
Die Web-Version prüft Kamera, GPS und optional WebXR. Direkter LiDAR/ARKit-Meshzugriff ist in mobilen Browsern nicht auf allen Geräten verfügbar. Deshalb unterstützt die Beta zunächst vorhandene Scandateien und Fehlerberichte. Eine spätere native/PWA-Helfer-App kann dieselbe Serverpipeline verwenden.
