- 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.
226 lines
4.3 KiB
Plaintext
226 lines
4.3 KiB
Plaintext
# Camera Platform-Specific Implementation
|
|
|
|
> **Agent role**:
|
|
Reference this file for platform-specific camera implementation details.
|
|
|
|
## Web Platform
|
|
|
|
### Implementation Details
|
|
|
|
- Uses `getUserMedia` API for camera access
|
|
|
|
- Implements fallback to file input if camera unavailable
|
|
|
|
- Handles browser compatibility issues
|
|
|
|
- Requires HTTPS for camera access
|
|
|
|
### Browser Support
|
|
|
|
- Chrome: Full support
|
|
|
|
- Firefox: Full support
|
|
|
|
- Safari: Limited support
|
|
|
|
- Edge: Full support
|
|
|
|
### Fallback Mechanisms
|
|
|
|
1. Camera access via getUserMedia
|
|
|
|
2. File input for image upload
|
|
|
|
3. Drag and drop support
|
|
|
|
4. Clipboard paste support
|
|
|
|
## Mobile Platform (Capacitor)
|
|
|
|
### iOS Implementation
|
|
|
|
- Uses `@capacitor-mlkit/barcode-scanning`
|
|
|
|
- Implements proper permission handling
|
|
|
|
- Supports both front and back cameras
|
|
|
|
- Handles camera switching
|
|
|
|
### Android Implementation
|
|
|
|
- Uses `@capacitor-mlkit/barcode-scanning`
|
|
|
|
- Implements proper permission handling
|
|
|
|
- Supports both front and back cameras
|
|
|
|
- Handles camera switching
|
|
|
|
### Permission Handling
|
|
|
|
- Camera permissions requested at runtime
|
|
|
|
- Permission state tracked and cached
|
|
|
|
- Graceful handling of denied permissions
|
|
|
|
- Clear user guidance for enabling permissions
|
|
|
|
## Desktop Platform (Electron)
|
|
|
|
### Current Status
|
|
|
|
- Camera implementation pending
|
|
|
|
- Will use platform-specific APIs
|
|
|
|
- Requires proper permission handling
|
|
|
|
- Will support both built-in and external cameras
|
|
|
|
### Planned Implementation
|
|
|
|
- Native camera access via Electron
|
|
|
|
- Platform-specific camera APIs
|
|
|
|
- Proper permission handling
|
|
|
|
- Camera switching support
|
|
|
|
## Platform Detection
|
|
|
|
### Implementation
|
|
|
|
- Uses `PlatformServiceFactory` for platform detection
|
|
|
|
- Implements platform-specific camera services
|
|
|
|
- Handles platform-specific error conditions
|
|
|
|
- Provides platform-specific user guidance
|
|
|
|
### Service Selection
|
|
|
|
- Web: `WebPlatformService`
|
|
|
|
- Mobile: `CapacitorPlatformService`
|
|
|
|
- Desktop: `ElectronPlatformService`
|
|
|
|
## Cross-Platform Compatibility
|
|
|
|
### Common Interface
|
|
|
|
- Unified camera service interface
|
|
|
|
- Platform-specific implementations
|
|
|
|
- Consistent error handling
|
|
|
|
- Unified user experience
|
|
|
|
### Feature Parity
|
|
|
|
- Core camera functionality across platforms
|
|
|
|
- Platform-specific optimizations
|
|
|
|
- Consistent user interface
|
|
|
|
- Unified error messages
|
|
|
|
## Platform-Specific Features
|
|
|
|
### Web
|
|
|
|
- Browser-based camera access
|
|
|
|
- File upload fallback
|
|
|
|
- Drag and drop support
|
|
|
|
- Clipboard paste support
|
|
|
|
### Mobile
|
|
|
|
- Native camera access
|
|
|
|
- Barcode scanning
|
|
|
|
- Photo capture
|
|
|
|
- Camera switching
|
|
|
|
### Desktop
|
|
|
|
- Native camera access (planned)
|
|
|
|
- External camera support (planned)
|
|
|
|
- Advanced camera controls (planned)
|
|
|
|
## Testing Strategy
|
|
|
|
### Platform Coverage
|
|
|
|
- Web: Multiple browsers
|
|
|
|
- Mobile: iOS and Android devices
|
|
|
|
- Desktop: Windows, macOS, Linux
|
|
|
|
### Test Scenarios
|
|
|
|
- Permission handling
|
|
|
|
- Camera access
|
|
|
|
- Error conditions
|
|
|
|
- Platform compatibility
|
|
|
|
- Performance metrics
|
|
|
|
---
|
|
|
|
**See also**:
|
|
|
|
- `.cursor/rules/features/camera-implementation.mdc` for
|
|
|
|
core implementation overview
|
|
|
|
- `.cursor/rules/features/camera_technical.mdc` for
|
|
|
|
technical implementation details
|
|
|
|
**Status**: Active platform-specific implementation guide
|
|
**Priority**: Medium
|
|
**Estimated Effort**: Ongoing reference
|
|
**Dependencies**: camera-implementation.mdc
|
|
**Stakeholders**: Development team, Platform team
|
|
|
|
## Model Implementation Checklist
|
|
|
|
### Before Camera Platform Implementation
|
|
|
|
- [ ] **Platform Analysis**: Identify target platforms and their camera capabilities
|
|
- [ ] **Feature Planning**: Plan platform-specific camera features
|
|
- [ ] **Integration Planning**: Plan integration with existing camera systems
|
|
- [ ] **Testing Strategy**: Plan testing across all target platforms
|
|
|
|
### During Camera Platform Implementation
|
|
|
|
- [ ] **Platform Services**: Implement platform-specific camera functionality
|
|
- [ ] **Feature Development**: Implement planned camera features for each platform
|
|
- [ ] **Integration**: Integrate with existing camera infrastructure
|
|
- [ ] **Performance Optimization**: Optimize camera performance for each platform
|
|
|
|
### After Camera Platform Implementation
|
|
|
|
- [ ] **Cross-Platform Testing**: Test camera functionality across all platforms
|
|
- [ ] **Feature Validation**: Verify all planned features work correctly
|
|
- [ ] **Performance Testing**: Ensure camera performance meets requirements
|
|
- [ ] **Documentation Update**: Update platform-specific camera documentation
|