Files
L'électron rare 878d911065 P1.1+P1.2: Phase 9 Touch Emulator + AGENT_TODO Update
 P1.1 Phase 9 Touch Input (4h)
- TouchEmulator: 4x4 grid navigation via buttons (UP/DOWN/LEFT/RIGHT toggle)
- Files: touch_emulator.{h,cpp} + AmigaUIShell integration
- Button mapping: 0=UP, 1=SELECT, 2=DOWN, 3=MENU, 4=TOGGLE_LR
- Build SUCCESS (31.06s, 64.4% RAM, 42.0% Flash)

 P1.2 Documentation Update (1h)
- AGENT_TODO.md: Phase 9 completion + Sprint 9 section added
- Root cause analysis: watchdog timeout (cycle 9) → stack fix (8192→16384)
- Troubleshooting guide: common issues + debug commands

Files:
  + touch_emulator.{h,cpp}
  ~ ui_amiga_shell.* + main.cpp + AGENT_TODO.md

Next: P1.3 (Sprint 1 endurance validation) + P2 (main.cpp refactor)
2026-03-11 00:03:58 +01:00

285 lines
8.6 KiB
JSON

{
"apps": [
{
"id": "audio_player",
"title": "Lecteur Audio",
"category": "media",
"entry_screen": "SCENE_AUDIO_PLAYER",
"enabled": true,
"version": "1.0.0",
"icon_path": "/apps/audio_player/icon.png",
"required_capabilities": 193,
"optional_capabilities": 16,
"supports_offline": true,
"supports_streaming": true,
"asset_manifest": "/apps/audio_player/manifest.json"
},
{
"id": "calculator",
"title": "Calculatrice",
"category": "utility",
"entry_screen": "SCENE_CALCULATOR",
"enabled": true,
"version": "1.0.0",
"icon_path": "/apps/calculator/icon.png",
"required_capabilities": 128,
"optional_capabilities": 0,
"supports_offline": true,
"supports_streaming": false,
"asset_manifest": "/apps/calculator/manifest.json"
},
{
"id": "timer_tools",
"title": "Chronometre/Minuteur",
"category": "utility",
"entry_screen": "SCENE_TIMER",
"enabled": true,
"version": "1.0.0",
"icon_path": "/apps/timer_tools/icon.png",
"required_capabilities": 128,
"optional_capabilities": 0,
"supports_offline": true,
"supports_streaming": false,
"asset_manifest": "/apps/timer_tools/manifest.json"
},
{
"id": "flashlight",
"title": "Lampe de Poche",
"category": "utility",
"entry_screen": "SCENE_FLASHLIGHT",
"enabled": true,
"version": "1.0.0",
"icon_path": "/apps/flashlight/icon.png",
"required_capabilities": 136,
"optional_capabilities": 0,
"supports_offline": true,
"supports_streaming": false,
"asset_manifest": "/apps/flashlight/manifest.json"
},
{
"id": "camera_video",
"title": "Appareil Photo/Video",
"category": "capture",
"entry_screen": "SCENE_PHOTO_MANAGER",
"enabled": true,
"version": "1.0.0",
"icon_path": "/apps/camera_video/icon.png",
"required_capabilities": 196,
"optional_capabilities": 32,
"supports_offline": true,
"supports_streaming": false,
"asset_manifest": "/apps/camera_video/manifest.json"
},
{
"id": "dictaphone",
"title": "Dictaphone",
"category": "capture",
"entry_screen": "SCENE_RECORDER",
"enabled": true,
"version": "1.0.0",
"icon_path": "/apps/dictaphone/icon.png",
"required_capabilities": 194,
"optional_capabilities": 32,
"supports_offline": true,
"supports_streaming": false,
"asset_manifest": "/apps/dictaphone/manifest.json"
},
{
"id": "qr_scanner",
"title": "Lecteur QR Code",
"category": "capture",
"entry_screen": "SCENE_QR_DETECTOR",
"enabled": true,
"version": "1.0.0",
"icon_path": "/apps/qr_scanner/icon.png",
"required_capabilities": 132,
"optional_capabilities": 0,
"supports_offline": true,
"supports_streaming": false,
"asset_manifest": "/apps/qr_scanner/manifest.json"
},
{
"id": "audiobook_player",
"title": "Livres Audio",
"category": "media",
"entry_screen": "SCENE_AUDIOBOOK",
"enabled": true,
"version": "1.0.0",
"icon_path": "/apps/audiobook_player/icon.png",
"required_capabilities": 193,
"optional_capabilities": 48,
"supports_offline": true,
"supports_streaming": true,
"asset_manifest": "/apps/audiobook_player/manifest.json"
},
{
"id": "kids_webradio",
"title": "Webradio Enfants",
"category": "kids_media",
"entry_screen": "SCENE_WEBRADIO",
"enabled": true,
"version": "1.0.0",
"icon_path": "/apps/kids_webradio/icon.png",
"required_capabilities": 129,
"optional_capabilities": 80,
"supports_offline": true,
"supports_streaming": true,
"asset_manifest": "/apps/kids_webradio/manifest.json"
},
{
"id": "kids_podcast",
"title": "Podcast Enfants",
"category": "kids_media",
"entry_screen": "SCENE_PODCAST",
"enabled": true,
"version": "1.0.0",
"icon_path": "/apps/kids_podcast/icon.png",
"required_capabilities": 129,
"optional_capabilities": 80,
"supports_offline": true,
"supports_streaming": true,
"asset_manifest": "/apps/kids_podcast/manifest.json"
},
{
"id": "kids_music",
"title": "Musique Enfants",
"category": "kids_media",
"entry_screen": "SCENE_KIDS_MUSIC",
"enabled": true,
"version": "1.0.0",
"icon_path": "/apps/kids_music/icon.png",
"required_capabilities": 129,
"optional_capabilities": 80,
"supports_offline": true,
"supports_streaming": true,
"asset_manifest": "/apps/kids_music/manifest.json"
},
{
"id": "kids_yoga",
"title": "Yoga Enfants",
"category": "kids_wellness",
"entry_screen": "SCENE_KIDS_YOGA",
"enabled": true,
"version": "1.0.0",
"icon_path": "/apps/kids_yoga/icon.png",
"required_capabilities": 129,
"optional_capabilities": 80,
"supports_offline": true,
"supports_streaming": true,
"asset_manifest": "/apps/kids_yoga/manifest.json"
},
{
"id": "kids_meditation",
"title": "Meditation Enfants",
"category": "kids_wellness",
"entry_screen": "SCENE_KIDS_MEDITATION",
"enabled": true,
"version": "1.0.0",
"icon_path": "/apps/kids_meditation/icon.png",
"required_capabilities": 129,
"optional_capabilities": 80,
"supports_offline": true,
"supports_streaming": true,
"asset_manifest": "/apps/kids_meditation/manifest.json"
},
{
"id": "kids_languages",
"title": "Langues Enfants",
"category": "kids_learning",
"entry_screen": "SCENE_KIDS_LANG",
"enabled": true,
"version": "1.0.0",
"icon_path": "/apps/kids_languages/icon.png",
"required_capabilities": 129,
"optional_capabilities": 80,
"supports_offline": true,
"supports_streaming": true,
"asset_manifest": "/apps/kids_languages/manifest.json"
},
{
"id": "kids_math",
"title": "Maths Enfants",
"category": "kids_learning",
"entry_screen": "SCENE_KIDS_MATH",
"enabled": true,
"version": "1.0.0",
"icon_path": "/apps/kids_math/icon.png",
"required_capabilities": 128,
"optional_capabilities": 81,
"supports_offline": true,
"supports_streaming": true,
"asset_manifest": "/apps/kids_math/manifest.json"
},
{
"id": "kids_science",
"title": "Sciences Enfants",
"category": "kids_learning",
"entry_screen": "SCENE_KIDS_SCIENCE",
"enabled": true,
"version": "1.0.0",
"icon_path": "/apps/kids_science/icon.png",
"required_capabilities": 128,
"optional_capabilities": 81,
"supports_offline": true,
"supports_streaming": true,
"asset_manifest": "/apps/kids_science/manifest.json"
},
{
"id": "kids_geography",
"title": "Geographie Enfants",
"category": "kids_learning",
"entry_screen": "SCENE_KIDS_GEO",
"enabled": true,
"version": "1.0.0",
"icon_path": "/apps/kids_geography/icon.png",
"required_capabilities": 128,
"optional_capabilities": 81,
"supports_offline": true,
"supports_streaming": true,
"asset_manifest": "/apps/kids_geography/manifest.json"
},
{
"id": "kids_drawing",
"title": "Dessin",
"category": "kids_learning",
"entry_screen": "SCENE_DRAWING",
"enabled": true,
"version": "1.0.0",
"icon_path": "/apps/kids_drawing/icon.png",
"required_capabilities": 128,
"optional_capabilities": 0,
"supports_offline": true,
"supports_streaming": false,
"asset_manifest": "/apps/kids_drawing/manifest.json"
},
{
"id": "kids_coloring",
"title": "Coloriage",
"category": "kids_learning",
"entry_screen": "SCENE_COLORING",
"enabled": true,
"version": "1.0.0",
"icon_path": "/apps/kids_coloring/icon.png",
"required_capabilities": 128,
"optional_capabilities": 0,
"supports_offline": true,
"supports_streaming": false,
"asset_manifest": "/apps/kids_coloring/manifest.json"
},
{
"id": "nes_emulator",
"title": "Emulateur NES",
"category": "games",
"entry_screen": "SCENE_NES_EMU",
"enabled": true,
"version": "1.0.0",
"icon_path": "/apps/nes_emulator/icon.png",
"required_capabilities": 193,
"optional_capabilities": 32,
"supports_offline": true,
"supports_streaming": false,
"asset_manifest": "/apps/nes_emulator/manifest.json"
}
]
}