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

115 lines
2.5 KiB
JSON

{
"title": "recherche d'accordance",
"subtitle": "Balayage en cours",
"symbol": "",
"effect": "scan",
"effect_speed_ms": 960,
"theme": {
"bg": "#041F1B",
"accent": "#4ABEFF",
"text": "#FFFFFF"
},
"render": {
"text_backend": "lgfx_overlay",
"disable_lvgl_text": true,
"wave": false,
"la_detector": {
"caption": "Balayage en cours",
"show_progress_ring": true,
"show_hourglass": false,
"background_preset": "hourglass_demoscene_ultra",
"background_sync": "mic_smoothed",
"background_intensity_pct": 32,
"hourglass_x_offset_px": -25,
"hourglass_height_px": 150,
"hourglass_width_px": 80,
"bargraph_palette": "blue",
"bargraph_peak_hold_ms": 900,
"bargraph_decay_per_s": 90,
"waveform_mode": "audio_player",
"waveform_window_ms": 220,
"show_caption": false,
"show_pitch_text": false,
"caption_font_face": "ibm_bold_16",
"caption_size": 1,
"meter_layout": "bottom_horizontal",
"progress_layout": "ring",
"hourglass_style": "modern",
"flip_on_timeout": false,
"reset_flip_ms": 3000,
"full_turn_flip_ms": 2000
}
},
"transition": {
"effect": "slide_up",
"duration_ms": 220
},
"timeline": {
"loop": true,
"duration_ms": 1500,
"keyframes": [
{
"at_ms": 0,
"effect": "scan",
"speed_ms": 960,
"theme": {
"bg": "#041F1B",
"accent": "#2CE5A6",
"text": "#EFFFF8"
}
},
{
"at_ms": 1500,
"effect": "pulse",
"speed_ms": 620,
"theme": {
"bg": "#062923",
"accent": "#63F0C3",
"text": "#F3FFFB"
}
}
]
},
"id": "SCENE_LA_DETECTOR",
"text": {
"show_title": true,
"show_subtitle": true,
"show_symbol": false,
"title_case": "raw",
"subtitle_case": "raw",
"symbol_align": "top",
"title_align": "top",
"subtitle_align": "top",
"size": 68
},
"visual": {
"show_title": true,
"show_subtitle": true,
"show_symbol": false,
"effect_speed_ms": 960,
"waveform": {
"enabled": true,
"sample_count": 12,
"amplitude_pct": 95,
"jitter": true
}
},
"framing": {
"preset": "center",
"x_offset": 0,
"y_offset": 0,
"scale_pct": 100
},
"scroll": {
"mode": "none",
"speed_ms": 4200,
"pause_ms": 900,
"loop": true
},
"demo": {
"mode": "standard",
"particle_count": 4,
"strobe_level": 65
}
}