Release v0.2: refine menus and JuggleBoard

This commit is contained in:
enne2
2026-09-06 22:53:52 +02:00
parent f4a9da6bc3
commit ea5b2aebbf
34 changed files with 832 additions and 437 deletions
+32 -29
View File
@@ -46,40 +46,43 @@ godot --headless --path . --quit-after 120 # smoke test (errori)
## Struttura
```
project.godot # viewport 1280x720 landscape, GL Compatibility, ETC2/ASTC
export_presets.cfg # preset Web e Android
assets/
wood_board.png # texture legno betulla (generata con Antigravity)
wood_board_rounded.png # variante con angoli arrotondati (board)
circus_arena_bg.png # sfondo arena circo (generato)
fonts/NotoSerifDisplay-CondensedExtraBold.ttf # font display circense
audio/circus.ogg # BGM circense (generata con API Lyria, loop in import)
branding/ # logo UPENDI (boot splash, avatar, README)
docs/ # mockup visuali
scenes/main.tscn
scripts/
settings.gd # AUTOLOAD Settings: parametri configurabili, user://settings.cfg
main.gd # logica gioco, HUD, difficoltà, vittoria/game over
board.gd # plancia legno: corsie a larghezza variabile, alloggiamenti, circo
ball.gd # biglia: glossy, venature casuali per colore, rotazione (asse Y)
target_dot.gd # biglia bersaglio nell'HUD
hearts_display.gd # cuori (survival)
lock_menu.gd # lock sequenza colori (protegge Opzioni)
options_menu.gd # menù impostazioni (persistente, riavvio)
mode_select.gd # dialog Target/Infinita (overlay dopo P2a)
main_menu.gd # menu P1/P2a/P3a, transizioni e selettore palline
victory_overlay.gd # overlay VITTORIA / GAME OVER (show_end)
hud_cartouche.gd # HUD a cartiglio circense
assets/menu/
ambient_drift.gdshader # movimento delicato di nuvole/tendoni
upendi_circus_sign.svg # insegna dedicata P1
project.godot # viewport 1280×720 orizzontale, GL Compatibility, ETC2/ASTC
export_presets.cfg # preset Web e Android
app/
scenes/app_shell.tscn # scena iniziale configurata in project.godot
scripts/app_shell.gd # coordina menu, selettore modalità e gioco attivo
menus/
scenes/ # shell menu e schermate P1, P2a, P3a
scripts/main_menu_controller.gd # navigazione e transizioni tra le schermate
scripts/screens/ # costruzione delle schermate Home, Juggle e Palestra
scripts/components/ # UI e audio condivisi dei menu
assets/ # fondali, tendoni, pulsanti e shader dei menu
games/
juggleboard/
scenes/ # scena di gioco, opzioni, lock adulto e fine partita
scripts/game_controller.gd # regole, punteggio, combo, timer e modalità
scripts/components/ # plancia, biglie e bersaglio
scripts/ui/ # HUD, cuori, opzioni e overlay
scripts/audio/ # BGM e feedback sonori
assets/ # texture e BGM di JuggleBoard
juggling_gym/ # asset provvisori della futura Palestra di giocoleria
shared/
settings/settings.gd # AUTOLOAD Settings: parametri e user://settings.cfg
audio/ # fabbrica dei suoni procedurali
ui/ # tema, cornici e decorazioni circensi riusabili
assets/ # font e texture condivise
branding/ # logo UPENDI e boot splash
docs/ # mockup, materiali di design e ARCHITECTURE.md
build/ # directory ignorata per gli export Web e Android
```
## Impostazioni (`settings.gd` → `user://settings.cfg`)
Il flusso e le responsabilità dei componenti sono descritti in [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md).
## Impostazioni (`shared/settings/settings.gd` → `user://settings.cfg`)
Parametri modificabili dal menù Opzioni: tempi (start/min), `score_ramp`, `points_per_combo`, `target_score`, `max_combo`, decay combo (threshold/rate), `difficulty_decay_rate`, `gentle_errors`, `game_mode` (0 Classica, 1 Zen, 2 Survival).
> **CRITICO**: `settings.gd` ha `const VERSION`. Quando si cambiano i **default**, incrementare `VERSION`: i file `settings.cfg` salvati con versione più vecchia vengono **resettati ai nuovi default** (altrimenti i vecchi valori salvati sovrascrivono i nuovi default).
> **CRITICO**: `shared/settings/settings.gd` ha `const VERSION`. Quando si cambiano i **default**, incrementare `VERSION`: i file `settings.cfg` salvati con versione più vecchia vengono **resettati ai nuovi default** (altrimenti i vecchi valori salvati sovrascrivono i nuovi default).
---