Phase 6: KI-Prompt-Generator

Neues Modul js/ai/promptBuilder.js: reine Funktion buildPrompt(), deckt
alle 10 Pflichtpunkte aus anforderung.md explizit ab (Region+Radius,
Kategorien, Alter, wichtige Eigenschaften, Anzahl Ergebnisse, keine
erfundenen Informationen, unsichere Angaben kennzeichnen, ausschliesslich
gueltiges JSON, genaue Koordinaten, direkte Importierbarkeit) und bettet
das exakte JSON-Zielschema aus anforderung.md unveraendert ein.

UI (js/ui/promptGenerator.js): Modal mit allen Eingabefeldern aus der
Anforderung (Region, Radius, Kategorien, Altersgruppe, Indoor/Outdoor,
Kostenrahmen, max. Ergebnisse, besondere Anforderungen als Checkboxen +
Freitext, Ausgabesprache), Live-Vorschau des generierten Prompts,
Copy-to-Clipboard mit execCommand-Fallback (js/utils/clipboard.js) und
Speichern als Textdatei (js/utils/download.js). Neuer Toolbar-Button
oeffnet den Generator.

JSON-Import der KI-Antwort ist bewusst nicht Teil dieser Phase, sondern
folgt in Phase 7. docs/plan.md entsprechend fortgeschrieben.
This commit is contained in:
2026-07-24 12:32:37 +02:00
parent dac952fbf9
commit 5e2197ec24
9 changed files with 963 additions and 2 deletions
+20 -1
View File
@@ -160,9 +160,28 @@ Seed-Daten dadurch synchron direkt aus dem globalen Namespace, ganz ohne
| 3 | Formular zum manuellen Anlegen/Bearbeiten (Validierung, Koordinatenprüfung) | ✅ umgesetzt |
| 4 | Filter- und Suchfunktion (Kategorie, Entfernung, Alter, Kosten, Indoor/Outdoor, Ausstattung, Bewertung, Region) inkl. Anwendung auf Karte + Liste | ✅ umgesetzt |
| 5 | Route/Navigation-Integration | ✅ bereits in Phase 2 erledigt (OSM-Directions-Button in der Detailansicht) |
| 6 | KI-Prompt-Generator (Eingabeformular, Promptgenerierung, Copy/Download) | offen |
| 6 | KI-Prompt-Generator (Eingabeformular, Promptgenerierung, Copy/Download) | ✅ umgesetzt |
| 7 | KI-JSON-Import (Validierung, Vorschau, Übernahme ins LocalStorage) + Backup-Export/Import + Politur | offen |
## KI-Prompt-Generator (Phase 6)
- `js/ai/promptBuilder.js`: reine Funktion `buildPrompt(formValues)`, deckt alle
10 Pflichtpunkte aus `anforderung.md` explizit nummeriert ab und bettet das
exakte JSON-Zielschema aus `anforderung.md` ("Vorgabe für das KI-JSON")
1:1 als Konstante `JSON_TEMPLATE` ein (per Skript byte-genau abgeglichen).
- Der Anweisungstext des Prompts ist immer Deutsch; das Formularfeld "Sprache
der Ausgabe" steuert separat, in welcher Sprache die KI ihre `name`/
`shortDescription`/`description`-Texte verfassen soll.
- `js/ui/promptGenerator.js`: Modal mit Live-Vorschau (`<textarea readonly>`,
aktualisiert sich bei jeder Eingabe), Buttons "In Zwischenablage kopieren"
(`js/utils/clipboard.js`, Clipboard API + `execCommand`-Fallback für
`file://`-Einschränkungen) und "Als Textdatei speichern"
(`js/utils/download.js`, clientseitiger Blob-Download).
- Einstiegspunkt: Button in der Karten-Toolbar, öffnet
`EventMap.ui.openPromptGenerator()`.
- Import der KI-Antwort (JSON zurück in die App) ist bewusst nicht Teil
dieser Phase, sondern folgt in Phase 7.
## Filter- und Suchfunktion (Phase 4)
- `js/filters/filterEngine.js`: reine Funktion `applyFilters(places, filters, userLocation)`