Grapevine_Disease_Detection/VinEye/app.json
Yanis 6232068208 chore(ml,android): retire react-native-fast-tflite + nitro, mock JS only
Contexte
- Build Android C++ instable sur Windows (CMake/Ninja path too long, Nitro
  headers manquants au clean). Modèle .tflite final pas encore prêt.
- Désinstall temporaire des deux libs natives, le mock JS dans model.ts
  continue de servir les détections simulées pondérées.

Changements
- package.json : retire react-native-fast-tflite (3.0.1)
- pnpm-lock.yaml : régénéré, -72 packages dont nitro-modules
- src/services/tflite/model.ts : refactor pur mock, interface publique
  inchangée (loadModel + runInference), procédure de réintégration
  documentée en tête du fichier
- plugins/withCmakeFix.js : plugin Expo config qui injecte les flags
  CMake (response files + ninja 1.12.1 + OBJECT_PATH_MAX) à chaque
  prebuild — dormant tant que fast-tflite n'est pas réintégré
- app.json : référence le plugin
- CLAUDE.md + .claude/notes/android-build : doc de l'état actuel et
  des étapes de réintégration (idéalement via EAS Build)

Reste
- src/assets/models/grapevine_v1.tflite conservé pour la réintégration
- metro.config.js continue de déclarer .tflite dans assetExts
- TypeScript check: 1 erreur préexistante (homeheader.tsx, palette[50]),
  non liée à ce changement

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 21:14:38 +02:00

66 lines
2 KiB
JSON

{
"expo": {
"name": "VinEye",
"slug": "vineye",
"version": "1.0.0",
"scheme": "vineye",
"orientation": "portrait",
"icon": "./src/assets/images/icon.png",
"userInterfaceStyle": "light",
"newArchEnabled": true,
"splash": {
"image": "./src/assets/images/splash.png",
"resizeMode": "contain",
"backgroundColor": "#2D6A4F"
},
"ios": {
"supportsTablet": true,
"bundleIdentifier": "com.vineye.app",
"infoPlist": {
"NSCameraUsageDescription": "VinEye needs camera access to detect grapevine diseases.",
"NSPhotoLibraryUsageDescription": "VinEye needs access to your photo library to import vine images."
}
},
"android": {
"adaptiveIcon": {
"foregroundImage": "./src/assets/images/adaptive-icon.png",
"backgroundColor": "#2D6A4F"
},
"package": "com.vineye.app",
"permissions": [
"android.permission.CAMERA",
"android.permission.INTERNET",
"android.permission.ACCESS_NETWORK_STATE",
"android.permission.READ_EXTERNAL_STORAGE",
"android.permission.WRITE_EXTERNAL_STORAGE",
"android.permission.ACCESS_COARSE_LOCATION",
"android.permission.ACCESS_FINE_LOCATION"
]
},
"web": {
"favicon": "./src/assets/images/icon.png"
},
"plugins": [
"./plugins/withCmakeFix",
"expo-localization",
[
"expo-camera",
{
"cameraPermission": "VinEye needs camera access to detect grapevines.",
"microphonePermission": false,
"recordAudioAndroid": false
}
],
[
"expo-location",
{
"locationAlwaysAndWhenInUsePermission": "VinEye souhaite accéder à votre position pour géolocaliser vos scans sur la carte.",
"locationWhenInUsePermission": "VinEye souhaite accéder à votre position pour géolocaliser vos scans sur la carte.",
"isAndroidBackgroundLocationEnabled": false,
"isIosBackgroundLocationEnabled": false
}
]
]
}
}