Files
le-mystere-professeur-zacus/hardware/firmware/data/story/screens/SCENE_WIN_ETAPE1.json
T
Clément SAILLANT e2bdd8b66c Add SceneGyrophare effect implementation
- Introduced SceneGyrophareConfig structure for configuration parameters.
- Implemented SceneGyrophare class with methods for creating, destroying, and updating the gyrophare effect.
- Added rendering functions for background, beams, and warning triangle.
- Integrated timer for animation updates based on frame rate.
- Created a log file for ESP32 audio kit boot information.
2026-03-01 11:41:15 +01:00

95 lines
1.8 KiB
JSON

{
"title": "BRAVO BRIGADE Z",
"subtitle": "Victoire finale",
"symbol": "WIN",
"effect": "zoom",
"effect_speed_ms": 260,
"theme": {
"bg": "#0A1027",
"accent": "#6AD4FF",
"text": "#F4FAFF"
},
"transition": {
"effect": "fade",
"duration_ms": 220
},
"timeline": {
"loop": true,
"duration_ms": 60000,
"keyframes": [
{
"at_ms": 0,
"effect": "celebrate",
"speed_ms": 20000,
"theme": {
"bg": "#0A1027",
"accent": "#6AD4FF",
"text": "#F4FAFF"
}
},
{
"at_ms": 20000,
"effect": "winner",
"speed_ms": 20000,
"theme": {
"bg": "#11193B",
"accent": "#8DE6FF",
"text": "#FFFFFF"
}
},
{
"at_ms": 40000,
"effect": "none",
"speed_ms": 20000,
"theme": {
"bg": "#050914",
"accent": "#7EDBFF",
"text": "#F4FAFF"
}
}
]
},
"id": "SCENE_WIN_ETAPE1",
"text": {
"show_title": true,
"show_subtitle": true,
"show_symbol": true,
"title_case": "upper",
"subtitle_case": "raw",
"title_align": "center",
"subtitle_align": "center",
"symbol_align": "top",
"title_font_face": "bungee_24",
"subtitle_font_face": "ibm_bold_20",
"size": 114
},
"visual": {
"show_title": true,
"show_subtitle": true,
"show_symbol": true,
"effect_speed_ms": 280
},
"framing": {
"preset": "center",
"x_offset": 0,
"y_offset": 0,
"scale_pct": 100
},
"scroll": {
"mode": "none",
"speed_ms": 0,
"pause_ms": 0,
"loop": false
},
"demo": {
"mode": "arcade",
"particle_count": 5,
"strobe_level": 58
},
"render": {
"text_backend": "lgfx_overlay",
"disable_lvgl_text": true,
"wave": false
}
}