Phase 10: Spec integration - Dynamic app registry loader
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"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",
|
||||
"assets": {
|
||||
"icons": [
|
||||
"/apps/audio_player/icon.png"
|
||||
],
|
||||
"scenes": [],
|
||||
"media": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"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",
|
||||
"assets": {
|
||||
"icons": [
|
||||
"/apps/audiobook_player/icon.png"
|
||||
],
|
||||
"scenes": [],
|
||||
"media": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"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",
|
||||
"assets": {
|
||||
"icons": [
|
||||
"/apps/calculator/icon.png"
|
||||
],
|
||||
"scenes": [],
|
||||
"media": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"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",
|
||||
"assets": {
|
||||
"icons": [
|
||||
"/apps/camera_video/icon.png"
|
||||
],
|
||||
"scenes": [],
|
||||
"media": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"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",
|
||||
"assets": {
|
||||
"icons": [
|
||||
"/apps/dictaphone/icon.png"
|
||||
],
|
||||
"scenes": [],
|
||||
"media": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"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",
|
||||
"assets": {
|
||||
"icons": [
|
||||
"/apps/flashlight/icon.png"
|
||||
],
|
||||
"scenes": [],
|
||||
"media": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"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",
|
||||
"assets": {
|
||||
"icons": [
|
||||
"/apps/qr_scanner/icon.png"
|
||||
],
|
||||
"scenes": [],
|
||||
"media": []
|
||||
}
|
||||
}
|
||||
@@ -2,55 +2,115 @@
|
||||
"apps": [
|
||||
{
|
||||
"id": "audio_player",
|
||||
"title": "Audio Player",
|
||||
"title": "Lecteur Audio",
|
||||
"category": "media",
|
||||
"entry_screen": "SCENE_AUDIO_PLAYER",
|
||||
"enabled": true,
|
||||
"version": "1.0.0",
|
||||
"entry_screen": "AUDIO_PLAYER_MAIN",
|
||||
"icon_path": "/apps/audio_player/icon.png",
|
||||
"required_capabilities": "CAP_AUDIO_OUT,CAP_STORAGE_FS",
|
||||
"optional_capabilities": "CAP_WIFI",
|
||||
"required_capabilities": 193,
|
||||
"optional_capabilities": 16,
|
||||
"supports_offline": true,
|
||||
"supports_streaming": false
|
||||
"supports_streaming": true,
|
||||
"asset_manifest": "/apps/audio_player/manifest.json"
|
||||
},
|
||||
{
|
||||
"id": "calculator",
|
||||
"title": "Calculator",
|
||||
"category": "utilities",
|
||||
"title": "Calculatrice",
|
||||
"category": "utility",
|
||||
"entry_screen": "SCENE_CALCULATOR",
|
||||
"enabled": true,
|
||||
"version": "1.0.0",
|
||||
"entry_screen": "CALC_MAIN",
|
||||
"icon_path": "/apps/calculator/icon.png",
|
||||
"required_capabilities": "CAP_GPU_UI",
|
||||
"optional_capabilities": "",
|
||||
"required_capabilities": 128,
|
||||
"optional_capabilities": 0,
|
||||
"supports_offline": true,
|
||||
"supports_streaming": false
|
||||
"supports_streaming": false,
|
||||
"asset_manifest": "/apps/calculator/manifest.json"
|
||||
},
|
||||
{
|
||||
"id": "timer_tools",
|
||||
"title": "Timer & Chrono",
|
||||
"category": "utilities",
|
||||
"title": "Chronometre/Minuteur",
|
||||
"category": "utility",
|
||||
"entry_screen": "SCENE_TIMER",
|
||||
"enabled": true,
|
||||
"version": "1.0.0",
|
||||
"entry_screen": "TIMER_MAIN",
|
||||
"icon_path": "/apps/timer_tools/icon.png",
|
||||
"required_capabilities": "CAP_GPU_UI,CAP_LED",
|
||||
"optional_capabilities": "",
|
||||
"required_capabilities": 128,
|
||||
"optional_capabilities": 0,
|
||||
"supports_offline": true,
|
||||
"supports_streaming": false
|
||||
"supports_streaming": false,
|
||||
"asset_manifest": "/apps/timer_tools/manifest.json"
|
||||
},
|
||||
{
|
||||
"id": "flashlight",
|
||||
"title": "Flashlight",
|
||||
"category": "utilities",
|
||||
"title": "Lampe de Poche",
|
||||
"category": "utility",
|
||||
"entry_screen": "SCENE_FLASHLIGHT",
|
||||
"enabled": true,
|
||||
"version": "1.0.0",
|
||||
"entry_screen": "LED_MAIN",
|
||||
"icon_path": "/apps/flashlight/icon.png",
|
||||
"required_capabilities": "CAP_LED",
|
||||
"optional_capabilities": "",
|
||||
"required_capabilities": 136,
|
||||
"optional_capabilities": 0,
|
||||
"supports_offline": true,
|
||||
"supports_streaming": false
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"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",
|
||||
"assets": {
|
||||
"icons": [
|
||||
"/apps/timer_tools/icon.png"
|
||||
],
|
||||
"scenes": [],
|
||||
"media": []
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 955 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 808 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 2.0 MiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 859 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 16 KiB |
@@ -5,7 +5,7 @@
|
||||
"name": "Audio Player",
|
||||
"category": "media",
|
||||
"filename": "audio_player.png",
|
||||
"size": 256,
|
||||
"size": 100,
|
||||
"color_primary": "#00FFFF",
|
||||
"color_accent": "#FF00FF",
|
||||
"emoji_fallback": "🎵"
|
||||
@@ -15,7 +15,7 @@
|
||||
"name": "Calculator",
|
||||
"category": "utilities",
|
||||
"filename": "calculator.png",
|
||||
"size": 256,
|
||||
"size": 100,
|
||||
"color_primary": "#FFFF00",
|
||||
"color_accent": "#00FFFF",
|
||||
"emoji_fallback": "🧮"
|
||||
@@ -25,7 +25,7 @@
|
||||
"name": "Timer",
|
||||
"category": "utilities",
|
||||
"filename": "timer.png",
|
||||
"size": 256,
|
||||
"size": 100,
|
||||
"color_primary": "#FF00FF",
|
||||
"color_accent": "#00FF88",
|
||||
"emoji_fallback": "⏰"
|
||||
@@ -35,7 +35,7 @@
|
||||
"name": "Flashlight",
|
||||
"category": "utilities",
|
||||
"filename": "flashlight.png",
|
||||
"size": 256,
|
||||
"size": 100,
|
||||
"color_primary": "#FFFF00",
|
||||
"color_accent": "#FFFFFF",
|
||||
"emoji_fallback": "🔦"
|
||||
@@ -45,7 +45,7 @@
|
||||
"name": "Camera",
|
||||
"category": "media",
|
||||
"filename": "camera.png",
|
||||
"size": 256,
|
||||
"size": 100,
|
||||
"color_primary": "#0088FF",
|
||||
"color_accent": "#FF00FF",
|
||||
"emoji_fallback": "📷"
|
||||
@@ -55,7 +55,7 @@
|
||||
"name": "Dictaphone",
|
||||
"category": "media",
|
||||
"filename": "dictaphone.png",
|
||||
"size": 256,
|
||||
"size": 100,
|
||||
"color_primary": "#00FF88",
|
||||
"color_accent": "#00FFFF",
|
||||
"emoji_fallback": "🎤"
|
||||
@@ -65,7 +65,7 @@
|
||||
"name": "QR Scanner",
|
||||
"category": "utilities",
|
||||
"filename": "qr_scanner.png",
|
||||
"size": 256,
|
||||
"size": 100,
|
||||
"color_primary": "#FFFF00",
|
||||
"color_accent": "#FF00FF",
|
||||
"emoji_fallback": "📱"
|
||||
|
||||