Define product image standards

This commit is contained in:
Andrew Griess
2026-07-15 11:08:19 -05:00
parent e126a37e7a
commit aee7bc4536

146
docs/image-guidelines.md Normal file
View File

@@ -0,0 +1,146 @@
# Product Image Guidelines
## Purpose
Product images help users identify ammunition products while browsing, scanning, or importing catalog records.
Images are optional. RoundCount must continue working when an image is missing or unavailable.
## Supported Formats
Preferred:
- WebP
Accepted:
- JPEG
- PNG
Not accepted:
- GIF
- SVG
- TIFF
- BMP
- Renamed or executable files
## File Naming
Store images using:
images/<manufacturer>/<product-identifier>.<extension>
Use the UPC as the filename when available:
images/winchester/020892201989.webp
When no UPC exists, use a normalized manufacturer SKU:
images/lake-city/lc-m193-55gr.webp
Naming requirements:
- Lowercase manufacturer directories
- Lowercase filenames
- Hyphens instead of spaces
- Letters, numbers, hyphens, and periods only
## Image Size
Recommended dimensions:
800 x 800 pixels
Maximum dimensions:
1600 x 1600 pixels
Recommended maximum size:
500 KB
Absolute maximum size:
1 MB
Images should be resized and compressed before being committed.
## Image Content
Preferred images should:
- Clearly show the product packaging
- Have a plain or uncluttered background
- Be properly oriented
- Be sharp and well lit
- Show identifying product information when possible
Do not include:
- Personal information
- People
- Receipts
- Shipping labels
- Storage locations
- Personal inventory markings
- Unrelated objects
- Contributor-added watermarks
## Catalog Record Reference
Catalog records should contain a repository-relative path:
"image": {
"path": "images/federal/029465063924.webp",
"sha256": null
}
Do not place the complete Gitea URL in each product record.
RoundCount should construct the download URL from its configured catalog repository address.
## SHA-256 Checksums
Generate a checksum with:
sha256sum images/federal/029465063924.webp
The resulting 64-character value may be stored in the product record.
Checksums allow RoundCount to verify that the downloaded image is complete and unchanged.
## Missing Images
When no product image is available, use:
"image": null
RoundCount should display its built-in placeholder image.
Do not store separate copies of the placeholder for every product.
## Image Validation
The catalog validation tool should eventually verify:
- The referenced image exists
- The extension is supported
- The file is a valid image
- Dimensions are within limits
- File size is within limits
- SHA-256 matches when provided
- The path remains inside the images directory
## Copyright and Sources
Only add images that may legally be stored and redistributed.
Preferred sources:
1. Original contributor photograph
2. Manufacturer-provided media
3. Distributor media with redistribution permission
4. Properly licensed third-party media
Image source information should be documented when appropriate.