Files
RecipesCam/package.json
T
admin 0ce561cb70 feat(frame): level the photo to the horizon with AUTO
The ROTATE strip gains an AUTO chip that reads the device tilt from expo-sensors and feeds it into the straighten angle while the library is open, so the export is levelled to the horizon. It sits right after RESET, combines with the manual STRAIGHTEN offset and with the quarter turns, and both RESET paths clear it.

The accelerator is sampled every 100 ms only while AUTO is on and the library is visible; near-flat and past 45 degrees readings are ignored so the level does not chase noise. AUTO rotates the image by +roll (a +10 degree emulator tilt exports 10 degrees clockwise), which is the sign that matches the preview.

A level line overlay is drawn in the preview: amber within one degree of level, white otherwise. Adds the expo-sensors dependency, so a native rebuild is required.
2026-09-11 11:35:48 +07:00

53 lines
1.5 KiB
JSON

{
"name": "recipescamera",
"version": "1.2",
"main": "index.ts",
"dependencies": {
"@react-native-async-storage/async-storage": "2.2.0",
"@react-native-community/slider": "5.2.0",
"@shopify/react-native-skia": "2.6.2",
"babel-preset-expo": "~57.0.0",
"expo": "~57.0.7",
"expo-asset": "~57.0.5",
"expo-dev-client": "~57.0.6",
"expo-file-system": "~57.0.1",
"expo-font": "~57.0.1",
"expo-haptics": "~57.0.1",
"expo-image-picker": "~57.0.4",
"expo-keep-awake": "~57.0.1",
"expo-location": "~57.0.4",
"expo-media-library": "~57.0.2",
"expo-sensors": "~57.0.2",
"expo-sharing": "~57.0.18",
"expo-status-bar": "~57.0.1",
"lucide-react-native": "^1.24.0",
"nativewind": "^4.2.6",
"react": "19.2.3",
"react-dom": "19.2.3",
"react-native": "0.86.0",
"react-native-nitro-image": "^0.15.2",
"react-native-nitro-modules": "^0.37.1",
"react-native-reanimated": "^4.5.0",
"react-native-safe-area-context": "^5.8.0",
"react-native-vision-camera": "^5.2.3",
"react-native-vision-camera-skia": "^5.2.3",
"react-native-vision-camera-worklets": "^5.2.3",
"react-native-web": "^0.21.2",
"tailwindcss": "^3.4.19"
},
"devDependencies": {
"@types/react": "~19.2.2",
"typescript": "^5.9.3"
},
"scripts": {
"start": "expo start",
"android": "expo run:android",
"ios": "expo run:ios",
"web": "expo start --web"
},
"private": true,
"allowScripts": {
"@shopify/react-native-skia@2.6.2": true
}
}