# cam
_(Coming soon)_ Pure Rust library to **c**ontrol **a**nd **m**onitor DSLR or mirrorless cameras
## v1.0 Roadmap
- [ ] Packet serialization/deserialization
- [ ] Define `Pack` trait for packing/unpacking binary fields
- [ ] Procedural derive macro for `Pack`
- [ ] Special structs for variants and length-notated containers
- [ ] Macros for easy creation of enum variants
- [ ] PTP/IP transport implementation
- [ ] Opening/closing connections
- [ ] Transactions
- [ ] Minimal PTP implementation
- [ ] Operations
- [ ] Opening/closing sessions
- [ ] Basic DeviceInfo support
- [ ] Event system and error handling
- [ ] Vendor-specific extensions/logic
- [ ] Canon
- [ ] Discovery
- [ ] Connection
- [ ] Trigger shutter
- [ ] Change settings
- [ ] Notification of settings changes
- [ ] Notification of new image
- [ ] Ability to download image
- [ ] Live preview
- [ ] Sony
- [ ] Discovery
- [ ] Connection
- [ ] Trigger shutter
- [ ] Change settings
- [ ] Notification of settings changes
- [ ] Notification of new image
- [ ] Ability to download image
- [ ] Live preview
- [ ] Nikon
- [ ] Discovery
- [ ] Connection
- [ ] Trigger shutter
- [ ] Change settings
- [ ] Notification of settings changes
- [ ] Notification of new image
- [ ] Ability to download image
- [ ] Live preview
## Beyond v1.0
- Additional protocols
- PTP/USB
- Bluetooth
- HTTP APIs
- Infrared and shutter release?
- Additional brands (Fujifilm, Panasonic) and specific camera lines/models
- GUI integration (via Tauri or similar)
- Advanced features like touch-to-focus, additional settings, gallery view, etc.