Corrected zig-zag scan positions from 4-15 to 6-17 (verified against
standard JPEG zig-zag ordering). Fixed inverted HVS luminance reasoning
to correctly explain that luminance is used because it isn't spatially
subsampled by JPEG, not because of visual sensitivity.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Document every public function, struct, field, constant, and non-trivial
private function across idfoto-core and idfoto-cli. Module-level docs
explain each module's role in the architecture. Comments explain the "why"
(crypto choices, algorithm design, data model rationale) not just the "what".
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds dimension-search crop recovery that tries candidate original sizes
to reconstruct the embed grid, and fixes test imports for GenericImageView.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Implements DCT-based steganography module that hides 256-bit secrets in
JPEG luminance channel using Quantization Index Modulation (QIM) with
redundant copies and majority voting for reliable extraction.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>