Files
le-mystere-professeur-zacus/hardware/firmware/data/story/screens/SCENE_WIN_ETAPE.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

80 lines
1.5 KiB
JSON

{
"title": "VALIDATION HOT-LINE",
"subtitle": "En attente de validation distante...",
"symbol": "RADIO",
"effect": "celebrate",
"effect_speed_ms": 320,
"theme": {
"bg": "#150B27",
"accent": "#54E3FF",
"text": "#F4FBFF"
},
"transition": {
"effect": "fade",
"duration_ms": 220
},
"timeline": {
"loop": true,
"duration_ms": 1200,
"keyframes": [
{
"at_ms": 0,
"effect": "celebrate",
"speed_ms": 320,
"theme": {
"bg": "#150B27",
"accent": "#54E3FF",
"text": "#F4FBFF"
}
},
{
"at_ms": 1200,
"effect": "celebrate",
"speed_ms": 280,
"theme": {
"bg": "#1C0F32",
"accent": "#7CEEFF",
"text": "#FFFFFF"
}
}
]
},
"id": "SCENE_WIN_ETAPE",
"text": {
"show_title": true,
"show_subtitle": true,
"show_symbol": true,
"title_case": "upper",
"subtitle_case": "raw",
"title_align": "top",
"subtitle_align": "center"
},
"visual": {
"show_title": true,
"show_subtitle": true,
"show_symbol": true,
"effect_speed_ms": 320
},
"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": "fireworks",
"particle_count": 4,
"strobe_level": 78
},
"render": {
"text_backend": "lgfx_overlay",
"disable_lvgl_text": true
}
}