cam 0.1.1

Pure Rust library to control and monitor DSLR or mirrorless cameras
Documentation
# 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.