diff --git a/PLAN.md b/PLAN.md index 39e2f2a..123af46 100644 --- a/PLAN.md +++ b/PLAN.md @@ -138,5 +138,7 @@ Abgabe: **9. Dezember 2026, 03:00 MEZ**. Eingereicht wird in „Best Daily Game - Ziele (`computeGoals`, 7 Bot-Partien) plus Nachspielen dauern in Node ≈ 80 ms – unproblematisch für den Server. Für die Prüfung **nicht** `verifyProgress` aus `progress.ts` nehmen: das zieht Kampagnen-JSONs ins Bundle und kennt nur die Website-Tageskarte. Eigene Prüfung aus `applyMoves` + `computeGoals` + `starsOf`. -- Musik: vorerst ein Titel („Peaceful Village“, MP3, 1,6 MB) – MP3 läuft auch in iOS-Webviews. Ein Größenlimit für +- Musik: ein Titel („Peaceful Village“), vom Sync-Skript aus der Opus-Datei des Hauptspiels als **MP3 64 kbit/s** + kodiert (1,0 statt 1,6 MB; Besitzer hat Varianten verglichen). MP3 läuft auch in iOS-Webviews. Ein Größenlimit für Webview-Assets steht nicht in der Doku; weitere Titel in `scripts/sync-engine.sh` (`musik=(…)`) ergänzen. +- Biome: Ordner-Ausschluss als `"!src/engine"` schreiben – `"!src/engine/"` mit Schrägstrich griff nicht. diff --git a/public/audio/music/peaceful-village.mp3 b/public/audio/music/peaceful-village.mp3 index a87ad24..2bca264 100644 Binary files a/public/audio/music/peaceful-village.mp3 and b/public/audio/music/peaceful-village.mp3 differ diff --git a/scripts/sync-engine.sh b/scripts/sync-engine.sh old mode 100644 new mode 100755 index c5ff81b..e983d57 --- a/scripts/sync-engine.sh +++ b/scripts/sync-engine.sh @@ -13,10 +13,11 @@ ziel="$(cd "$(dirname "$0")/.." && pwd)/src/engine" commit="$(git -C "$repo" rev-parse --verify "$tag^{commit}")" tmp="$(mktemp -d)" trap 'rm -rf "$tmp"' EXIT -# Musik: nur MP3 (läuft überall, auch in iOS-Webviews) und nur wenige Titel – jeder ≈ 2 MB +# Musik: wenige Titel, als MP3 mit 64 kbit/s (läuft überall, auch in iOS-Webviews; ≈ 1 MB je Titel). +# Quelle ist die Opus-Datei des Hauptspiels (bessere Vorlage als dessen 96-kbit/s-MP3); braucht ffmpeg. musik=(peaceful-village) musik_pfade=() -for titel in "${musik[@]}"; do musik_pfade+=("public/audio/music/$titel.mp3"); done +for titel in "${musik[@]}"; do musik_pfade+=("public/audio/music/$titel.webm"); done git -C "$repo" archive "$commit" src/core src/campaign src/puzzles public/sprites/tiles public/sprites/themes \ "${musik_pfade[@]}" | tar -x -C "$tmp" @@ -31,7 +32,11 @@ public="$(dirname "$ziel")/../public" rm -rf "$public/sprites" "$public/audio" mkdir -p "$public/sprites" "$public/audio" cp -r "$tmp/public/sprites/tiles" "$tmp/public/sprites/themes" "$public/sprites/" -cp -r "$tmp/public/audio/music" "$public/audio/" +mkdir -p "$public/audio/music" +for titel in "${musik[@]}"; do + ffmpeg -v error -y -i "$tmp/public/audio/music/$titel.webm" -map_metadata -1 -c:a libmp3lame -b:a 64k -ar 44100 \ + "$public/audio/music/$titel.mp3" +done printf 'tag: %s\ncommit: %s\n' "$tag" "$commit" > "$ziel/VERSION" echo "Engine synchronisiert: $tag ($commit)"