feat: add juggling gym and animate circus sign

This commit is contained in:
enne2
2026-09-08 11:11:08 +02:00
parent d0991a0edf
commit 0e93e646b0
31 changed files with 629 additions and 19 deletions
+19 -4
View File
@@ -21,7 +21,7 @@ Questo documento descrive la struttura del repository dopo il refactoring che ha
| --- | --- | --- | --- |
| Home | `menus/scenes/p1_home.tscn` | `menus/scripts/screens/p1_home_screen.gd` | Disponibile |
| Menu JuggleBoard | `menus/scenes/p2a_juggle_menu.tscn` | `menus/scripts/screens/p2a_juggle_menu_screen.gd` | Disponibile |
| Palestra di giocoleria | `menus/scenes/p3a_gym_menu.tscn` | `menus/scripts/screens/p3a_gym_menu_screen.gd` | Anteprima: il pulsante mostra “Presto disponibile” |
| Palestra di giocoleria | `menus/scenes/p3a_gym_menu.tscn` | `menus/scripts/screens/p3a_gym_menu_screen.gd` | Disponibile: avvia il prototipo P3B |
| Selettore modalità | `menus/scenes/mode_select_dialog.tscn` | `menus/scripts/mode_select_dialog.gd` e `mode_select_view.gd` | Disponibile |
I componenti `menus/scripts/components/menu_ui.gd` e `menu_audio.gd` raccolgono rispettivamente costruzione visuale e feedback sonori. Le immagini e lo shader del menu risiedono in `menus/assets/`.
@@ -58,13 +58,22 @@ Le scene accessorie sono `options_menu.tscn`, `lock_menu.tscn` e `victory_overla
- `shared/settings/settings.gd`: persiste i parametri in `user://settings.cfg`. Incrementare `VERSION` quando cambiano i valori predefiniti.
- `shared/audio/audio_factory.gd`: genera e riproduce feedback sonori morbidi.
- `menus/assets/audio/upendi_sign_drop_hf.wav` e `upendi_sign_bounce_hf.wav`: effetti dell’insegna generati con Hugging Face TangoFlux e riprodotti da `MenuAudio`.
- `shared/ui/`: definisce tema, finiture e cornici circensi riusabili.
- `shared/assets/`: contiene font e texture comuni.
- `shared/branding/`: contiene logo UPENDI e risorse del boot splash.
## Dominio futuro: Palestra di giocoleria
## Dominio Palestra di giocoleria
`games/juggling_gym/` conserva solo asset provvisori. Non esiste ancora una scena o un controller per questo dominio e `AppShell` non lo istanzia.
`games/juggling_gym/scenes/juggling_gym.tscn` usa `JugglingGymGame` per il prototipo P3B. Il mockup completo resta lo sfondo della scena; `GymTool` crea aree di trascinamento trasparenti sopra la barra inferiore e `GymDropZone` gestisce i tre bersagli sui giocolieri.
Nel primo prototipo sono attivi tre attrezzi, con associazione univoca:
- palline → giocoliere sinistro;
- piatti cinesi → giocoliere destro;
- sfera → giocoliere centrale.
Rola bola e clave sono visibili nel mockup ma non ancora disponibili. Un rilascio corretto incrementa il progresso, disabilita l’attrezzo già posizionato e mostra il feedback; un rilascio errato lascia l’attrezzo riprovabile.
## Verifica visuale
@@ -77,7 +86,13 @@ godot --path . -- --capture-menus --capture-p3a
godot --path . -- --capture-menus --capture-mode-dialog
```
Le immagini risultanti sono salvate in `/tmp/autgame_menu_*.png`. Per una cattura diretta del gioco usare:
Le immagini risultanti sono salvate in `/tmp/autgame_menu_*.png`. Per una cattura diretta della palestra usare:
```bash
godot --path . -- --start-gym --capture-menus
```
La cattura viene salvata in `/tmp/autgame_juggling_gym.png`. Per una cattura diretta di JuggleBoard usare:
```bash
godot --path . -- --start-juggleboard --capture-menus