Multiple improvements
This commit is contained in:
@@ -51,6 +51,13 @@ Die App richtet sich an Grundschulkinder und Menschen ohne technische Vorkenntni
|
||||
und Code-Kommentare. Code-Bezeichner, Dateiformate und Schnittstellen bleiben fachlich präzise.
|
||||
- Prüfe neue Texte und angepasste Text-Erwartungen in den vorhandenen Tests.
|
||||
|
||||
## Kontaktadresse
|
||||
|
||||
Die eingerichtete Kontaktadresse für Wegwichtel ist `info@wegwichtel.de`.
|
||||
Sie gilt für App-Kontakt, technische Fragen, Rechtefragen, Datenschutzanfragen,
|
||||
Widerruf und Entfernung von Aufnahmen. In Rechtstexten statisch einsetzen.
|
||||
Schul- und Behördenadressen bleiben die Kontakte der jeweiligen Stellen.
|
||||
|
||||
## Texte und Übersetzungen
|
||||
|
||||
- Alle eigenen Bedienungstexte liegen zentral in der Klasse `WegwichtelTexts`
|
||||
@@ -83,3 +90,28 @@ Die App richtet sich an Grundschulkinder und Menschen ohne technische Vorkenntni
|
||||
- Deutsch und Englisch enthalten dieselben Schlüssel, Platzhalter und Pluralformen.
|
||||
Texte in beiden Sprachen einfach und sinngemäß schreiben. Sprachwechsel aktualisieren feste Beschriftungen;
|
||||
bereits erzeugte dynamische Ansichten bei Bedarf neu rendern.
|
||||
|
||||
## Ausrichtung von Bedienelementen
|
||||
|
||||
Button-Gruppen in Strecken- und Stationslisten am rechten Kartenrand ausrichten.
|
||||
Icon-Buttons bekommen einheitliche Breiten, Höhen und Abstände, auch wenn sie
|
||||
inaktiv sind. Titel dürfen umbrechen und verändern die Button-Spalten nicht.
|
||||
Die Bedienflächen bleiben mindestens 44 × 44 Pixel groß.
|
||||
|
||||
## Lokale Bilder und Tonaufnahmen erst bei Bedarf laden
|
||||
|
||||
Beim Öffnen oder Speichern einer Strecke und beim Umordnen von Stationen
|
||||
nur Metadaten lesen. Keine Dateien aller Stationen hydratisieren.
|
||||
Dateireferenzen bzw. IndexedDB-Dateien erst beim Bearbeiten oder Aufrufen
|
||||
der jeweiligen Station lesen. Der Upload liest die benötigten Dateien direkt.
|
||||
Temporäre Blob-URLs beim Verlassen der Ansicht freigeben; verspätete
|
||||
Ladeergebnisse dürfen eine andere Station oder geschlossene Ansicht nicht ändern.
|
||||
|
||||
## Stationsorte in der Routenberechnung
|
||||
|
||||
Beim Hochladen und erneuten Berechnen sowohl aufgezeichnete Wegpositionen als
|
||||
auch `wpt` mit gültigen Koordinaten berücksichtigen. Stationsanker dürfen nicht
|
||||
durch die GPS-Clusterbildung wegfallen. Nur gültige Koordinaten einbeziehen;
|
||||
Stationen ohne Standort bleiben bearbeitbar. Berechnete Stationsanker im GPX
|
||||
kennzeichnen und bei Verschieben/Löschen ersetzen, statt veraltete Orte zu behalten.
|
||||
Rätsel-Stationen sind für später in `docs/agents/TODO-RAETSEL-STATIONEN.md` vorgemerkt.
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
## Stationen und Weg getrennt speichern
|
||||
|
||||
- Stationen mit Koordinaten stehen als `wpt` unmittelbar unter `gpx`.
|
||||
- Beim ersten Speichern eines neuen Entwurfs startet während der Bearbeitung eine Aufzeichnung:
|
||||
sofort eine Position, danach alle 30 Sekunden eine neue GPS-Abfrage.
|
||||
- Der Schalter „Meinen Weg aufnehmen“ ist beim Start und beim Öffnen eines
|
||||
Entwurfs aus. Einschalten fragt sofort den Standort ab, danach alle zwei Minuten.
|
||||
Bei noch nicht gespeicherten Entwürfen beginnt die Aufnahme nach dem ersten Speichern.
|
||||
Schließen, Abbrechen, Rückkehr zur Streckenliste oder Wechsel der Strecke
|
||||
beendet die Aufzeichnung. Nach einem Neustart ist sie inaktiv. Beim erneuten
|
||||
Öffnen eines lokalen Entwurfs zur Bearbeitung beginnt eine neue Sitzung.
|
||||
Speichern innerhalb derselben Sitzung hebt Pause oder bewusstes Stoppen nicht auf.
|
||||
beendet die Aufzeichnung und schaltet sie aus. Speichern innerhalb derselben
|
||||
Sitzung hebt Pause oder bewusstes Stoppen nicht auf.
|
||||
- Die sichtbaren Schaltflächen erlauben Pausieren, Fortsetzen und Beenden.
|
||||
Beim Löschen des Entwurfs endet die Aufzeichnung ebenfalls.
|
||||
- Tatsächliche Positionen stehen als `trk/trkseg/trkpt` mit Zeitstempel und,
|
||||
@@ -28,6 +28,9 @@ Positionen. Speicherfehler pausieren die Aufzeichnung und zeigen einen Hinweis.
|
||||
Entwürfe und Stationen dürfen ohne GPS erstellt und gespeichert werden.
|
||||
In der Streckenbearbeitung können unter „Orte auf dem Weg ergänzen“ fehlende
|
||||
Positionen ergänzt, vorhandene geändert und weitere hinzugefügt werden.
|
||||
Das Zielkreuz an jedem Wegpunkt fragt frische GPS-Koordinaten ab und füllt nur
|
||||
dessen Felder. Es startet keine Aufnahme; die Änderung muss gespeichert werden.
|
||||
Verspätete Antworten nach dem Wechseln oder Schließen werden verworfen.
|
||||
Breiten- und Längengrad müssen gemeinsam angegeben werden oder beide leer bleiben.
|
||||
Stationen haben eigene Felder unter „Ort ergänzen“.
|
||||
|
||||
@@ -56,18 +59,34 @@ Coverage-Lauf geprüft.
|
||||
## Normalisierung auf dem Server
|
||||
|
||||
Beim Einreichen oder Ersetzen einer GPX-Datei normalisiert der Node-Dienst den
|
||||
aufgezeichneten Weg zu `rte/rtept`. Bereits vorhandene Routenpunkte haben Vorrang.
|
||||
aufgezeichneten Weg und gültige Stations-Wegpunkte zu `rte/rtept`. Bereits
|
||||
vorhandene Routenpunkte bilden anstelle von Trackpunkten den Grundverlauf.
|
||||
Aufeinanderfolgende Trackpunkte innerhalb des eingestellten Abstands werden
|
||||
zusammengefasst. Der erste Punkt bleibt der Vertreter; der nächste wird erst
|
||||
übernommen, wenn er weiter entfernt liegt. So werden kleine Schwankungen
|
||||
während einer Pause nicht fortlaufend zur Weglänge addiert.
|
||||
|
||||
Nach dem Vereinfachen des Tracks werden alle gültigen `wpt` ergänzt. Sie werden
|
||||
nicht durch den Clusterabstand entfernt. Ihre Reihenfolge in der Datei bleibt
|
||||
erhalten; der Einfügeort im verbleibenden Weg wird anhand der kleinsten
|
||||
zusätzlichen Weglänge gewählt. Übereinstimmende Orte werden zusammengeführt.
|
||||
Eine Strecke mit nur Stationen erhält einen Weg in Stationsreihenfolge.
|
||||
Weglänge, Routenpunktzahl und Suchgrenzen beziehen sich auf den gemeinsamen Weg.
|
||||
|
||||
Aus Stationen ergänzte Routenpunkte tragen in ihren GPX-Erweiterungen die
|
||||
Kennung `wegwichtel:waypointRoutePoint`. Dadurch lassen sich bei erneuter
|
||||
Normalisierung bzw. Verschieben/Löschen einer Station alte ergänzte Anker
|
||||
entfernen und anhand der aktuellen `wpt` neu berechnen. Ursprüngliche Wegpunkte
|
||||
im aufgezeichneten Verlauf bleiben erhalten. Beim Anhängen einer anderen Strecke
|
||||
wird deren berechneter Weg als zusätzlicher Verlauf übernommen. Wiederholte
|
||||
Normalisierung darf keine zusätzlichen Stationsanker erzeugen.
|
||||
|
||||
`GPX_CLUSTER_METERS` in `.env` steuert den Abstand, standardmäßig 20 Meter.
|
||||
Das Verfahren ist eine geometrische Vereinfachung ohne externen Routingdienst.
|
||||
Es berechnet keine Wege auf einer Straßenkarte. GPS-Lücken werden bei der
|
||||
Routenberechnung übersprungen; zwischen gültigen Nachbarpunkten entsteht eine
|
||||
direkte Verbindung. Die Lücken bleiben für spätere Bearbeitung als Erweiterungen
|
||||
erhalten. Gibt es keine gültigen Wegpositionen, bleiben Weglänge und Punktzahl
|
||||
erhalten. Gibt es weder gültige Wegpositionen noch Stationen mit Koordinaten, bleiben Weglänge und Punktzahl
|
||||
bei 0 Metern und 0 Punkten; Stationen bleiben trotzdem gespeichert.
|
||||
|
||||
Die gespeicherte Serverdatei enthält den normalisierten Weg. Änderungen an
|
||||
@@ -82,7 +101,8 @@ Zwei Pfeile zeigen gleichzeitig die Richtung:
|
||||
- zum nächsten Routenpunkt, ohne Entfernungsangabe;
|
||||
- zur nächsten noch offenen Station mit Koordinaten, mit Metern.
|
||||
|
||||
Bei einer Strecke mit ausschließlich Stationen fehlt nur die Wegführung.
|
||||
Bei einem lokalen Entwurf mit ausschließlich Stationen fehlt vor dem Hochladen
|
||||
die Wegführung. Nach dem Hochladen verbindet der berechnete Weg die Stationen.
|
||||
Stationen ohne Koordinaten lösen keine Standort-Erkennung aus. Während einer
|
||||
Pause werden die Pfeile verborgen.
|
||||
|
||||
|
||||
@@ -4,9 +4,13 @@ Ausgangspunkt: [Recherche und umgesetzte Hinweise](../Bilder-und-Ton-Nutzungsrec
|
||||
Die statischen Rechtstexte und X-Copyright sind eingebunden; ein belegbares
|
||||
Zustimmungs- und Namensnennungssystem ist noch nicht umgesetzt.
|
||||
|
||||
Kontakt für Wegwichtel, Rechtefragen, Datenschutzanfragen, Widerruf und Entfernung:
|
||||
`info@wegwichtel.de` (vom Betreiber eingerichtet). Diesen Kontakt nicht erneut
|
||||
als offenen Platzhalter führen.
|
||||
|
||||
## Vor verbindlicher Verwendung und Freigabe zu erledigen
|
||||
|
||||
1. Den tatsächlichen Lizenznehmer, Rechtekontakt, Rechtsgrundlagen und Fristen
|
||||
1. Den tatsächlichen Lizenznehmer, Rechtsgrundlagen und Fristen
|
||||
ergänzen. Den Entwurf und die Zustimmung für Kinder rechtlich prüfen lassen.
|
||||
2. Die relevante Vereinbarung vor dem Einsenden zugänglich machen und eine
|
||||
nicht vorausgewählte, ausdrückliche Zustimmung einholen. Eine bloße
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
# TODO: Rätsel-Stationen
|
||||
|
||||
Vom Nutzer am 04.10.2026 vorgemerkt. Noch nicht implementieren.
|
||||
|
||||
## Gewünschtes Verhalten
|
||||
|
||||
- Eine Station kann als Rätsel-Station markiert werden und online gespeichert sein.
|
||||
- Zunächst Beschreibung mit einem Rätseltext bzw. Hinweis zum Ermitteln der
|
||||
Koordinaten anzeigen. Dafür ein eigenes Beschreibungsfeld vorsehen.
|
||||
- Statt der echten Position zunächst Eingabefelder für Breitengrad und Längengrad
|
||||
anbieten. Bedienungstexte einfach halten und aus DE-/EN-Katalogen beziehen.
|
||||
- Eingegebene Koordinaten serverseitig mit dem Ziel vergleichen. Liegen sie nahe
|
||||
genug, die Station freischalten und erst dann die echte Position abrufbar machen.
|
||||
- Nach der Freischaltung Station wie eine normale Station anzeigen und verwenden.
|
||||
|
||||
## Lösungsansätze und offene Entscheidungen
|
||||
|
||||
- Rätselart, Hinweistext und akzeptierten Abstand in Metern im Stationsmodell
|
||||
vorsehen; geeigneten Standardabstand und Wahlmöglichkeit später festlegen.
|
||||
- Distanz auf dem Server berechnen. Die Prüfung ausschließlich im Client würde
|
||||
die echte Position vorzeitig offenlegen. Wertebereiche validieren und falsche
|
||||
Eingaben mit verständlichem Hinweis beantworten.
|
||||
- Freischaltung an eine Bearbeitungs-/Spielgruppe, Sitzung oder Gerätekennung
|
||||
binden. Die vorhandene creator_id ist allein keine sichere Authentifizierung.
|
||||
Entscheiden, ob die Freischaltung gespeichert wird und Gruppen sie teilen.
|
||||
- Echte Position vorher aus öffentlichen Stationsantworten, GPX-Wegpunkten,
|
||||
Routenpunkten, Richtungspfeilen und Offline-Paketen heraushalten. Auch Suchgrenzen,
|
||||
Medienmetadaten und geordnete Wegverläufe können die Lösung verraten. Diese
|
||||
Auswirkungen auf die neue gemeinsame Routenberechnung ausdrücklich evaluieren.
|
||||
- Für den späteren Koordinatenabruf eine überprüfbare Freigabe verwenden;
|
||||
wiederholte Versuche angemessen begrenzen. Kein bloßes UI-Verstecken.
|
||||
- Offline-Verhalten festlegen: serverseitige Prüfung braucht eine Verbindung;
|
||||
eine vollständig offline prüfbare Lösung hat andere Schutzgrenzen.
|
||||
- Tests für Treffer innerhalb des erlaubten Abstands, Grenzfälle, falsche und
|
||||
ungültige Eingaben, Geräte-/Gruppenwechsel sowie verfrühten Koordinatenzugriff
|
||||
und Datenlecks in GPX/Offline-Paketen vorsehen.
|
||||
Reference in New Issue
Block a user