- Remove legacy rule files (documentation.mdc, general_development.mdc, etc.) - Implement new meta-rule system with core, app, and feature categories - Add meta-rule files for different workflows (bug diagnosis, feature planning, etc.) - Create organized directory structure: core/, app/, features/, database/, etc. - Add comprehensive README.md for rules documentation - Establish new rule architecture with always-on and workflow-specific rules This restructuring improves rule organization, enables better workflow management, and provides clearer separation of concerns for different development tasks.
204 lines
3.8 KiB
Plaintext
204 lines
3.8 KiB
Plaintext
# Camera Technical Implementation — Details and Best Practices
|
|
|
|
> **Agent role**: Reference this file for
|
|
detailed technical implementation when working with camera features.
|
|
|
|
## Platform-Specific Considerations
|
|
|
|
### iOS
|
|
|
|
- Requires `NSCameraUsageDescription` in Info.plist
|
|
|
|
- Supports both front and back cameras
|
|
|
|
- Implements proper permission handling
|
|
|
|
### Android
|
|
|
|
- Requires camera permissions in manifest
|
|
|
|
- Supports both front and back cameras
|
|
|
|
- Handles permission requests through Capacitor
|
|
|
|
### Web
|
|
|
|
- Requires HTTPS for camera access
|
|
|
|
- Implements fallback mechanisms
|
|
|
|
- Handles browser compatibility issues
|
|
|
|
## Error Handling
|
|
|
|
### Common Error Scenarios
|
|
|
|
1. No camera found
|
|
|
|
2. Permission denied
|
|
|
|
3. Camera in use by another application
|
|
|
|
4. HTTPS required
|
|
|
|
5. Browser compatibility issues
|
|
|
|
### Error Response
|
|
|
|
- User-friendly error messages
|
|
|
|
- Troubleshooting tips
|
|
|
|
- Clear instructions for resolution
|
|
|
|
- Platform-specific guidance
|
|
|
|
## Security Considerations
|
|
|
|
### Permission Management
|
|
|
|
- Explicit permission requests
|
|
|
|
- Permission state tracking
|
|
|
|
- Graceful handling of denied permissions
|
|
|
|
### Data Handling
|
|
|
|
- Secure image processing
|
|
|
|
- Proper cleanup of camera resources
|
|
|
|
- No persistent storage of camera data
|
|
|
|
## Best Practices
|
|
|
|
### Camera Access
|
|
|
|
1. Always check for camera availability
|
|
|
|
2. Request permissions explicitly
|
|
|
|
3. Handle all error conditions
|
|
|
|
4. Provide clear user feedback
|
|
|
|
5. Implement proper cleanup
|
|
|
|
### Performance
|
|
|
|
1. Optimize camera resolution
|
|
|
|
2. Implement proper resource cleanup
|
|
|
|
3. Handle camera switching efficiently
|
|
|
|
4. Manage memory usage
|
|
|
|
### User Experience
|
|
|
|
1. Clear status indicators
|
|
|
|
2. Intuitive camera controls
|
|
|
|
3. Helpful error messages
|
|
|
|
4. Smooth camera switching
|
|
|
|
5. Responsive UI feedback
|
|
|
|
## Future Improvements
|
|
|
|
### Planned Enhancements
|
|
|
|
1. Implement Electron camera support
|
|
|
|
2. Add advanced camera features
|
|
|
|
3. Improve error handling
|
|
|
|
4. Enhance user feedback
|
|
|
|
5. Optimize performance
|
|
|
|
### Known Issues
|
|
|
|
1. Electron camera implementation pending
|
|
|
|
2. Some browser compatibility limitations
|
|
|
|
3. Platform-specific quirks to address
|
|
|
|
## Dependencies
|
|
|
|
### Key Packages
|
|
|
|
- `@capacitor-mlkit/barcode-scanning`
|
|
|
|
- `qrcode-stream`
|
|
|
|
- `vue-picture-cropper`
|
|
|
|
- Platform-specific camera APIs
|
|
|
|
## Testing
|
|
|
|
### Test Scenarios
|
|
|
|
1. Permission handling
|
|
|
|
2. Camera switching
|
|
|
|
3. Error conditions
|
|
|
|
4. Platform compatibility
|
|
|
|
5. Performance metrics
|
|
|
|
### Test Environment
|
|
|
|
- Multiple browsers
|
|
|
|
- iOS and Android devices
|
|
|
|
- Desktop platforms
|
|
|
|
---
|
|
|
|
**See also**:
|
|
|
|
- `.cursor/rules/features/camera-implementation.mdc` for
|
|
|
|
core implementation overview
|
|
|
|
- `.cursor/rules/features/camera_platforms.mdc` for platform-specific details
|
|
|
|
**Status**: Active technical implementation guide
|
|
**Priority**: Medium
|
|
**Estimated Effort**: Ongoing reference
|
|
**Dependencies**: camera-implementation.mdc
|
|
**Stakeholders**: Development team, Camera feature team
|
|
|
|
## Model Implementation Checklist
|
|
|
|
### Before Camera Implementation
|
|
|
|
- [ ] **Platform Analysis**: Identify target platforms and camera capabilities
|
|
- [ ] **Permission Planning**: Plan permission handling for camera access
|
|
- [ ] **Dependency Review**: Review required camera packages and APIs
|
|
- [ ] **Testing Strategy**: Plan testing across multiple platforms
|
|
|
|
### During Camera Implementation
|
|
|
|
- [ ] **Platform Services**: Implement platform-specific camera services
|
|
- [ ] **Permission Handling**: Implement proper camera permission handling
|
|
- [ ] **Error Handling**: Implement graceful error handling for camera failures
|
|
- [ ] **Performance Optimization**: Optimize camera performance and responsiveness
|
|
|
|
### After Camera Implementation
|
|
|
|
- [ ] **Cross-Platform Testing**: Test camera functionality across all platforms
|
|
- [ ] **Permission Testing**: Test permission handling and user feedback
|
|
- [ ] **Performance Validation**: Verify camera performance meets requirements
|
|
- [ ] **Documentation Update**: Update camera technical documentation
|