-
Notifications
You must be signed in to change notification settings - Fork 16
feat: Add organic variation to illustration batch generation #36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Closes #34 Adds a "daily creative brief" system that introduces natural variation in batch-generated illustrations while maintaining reproducibility: - Interpretive lenses: 7 different ways to interpret the news content (emotion, journey, conflict, collaboration, breakthrough, scale, impact) - Compositional approaches: 6 framing styles (bird's eye, close-up, wide shot, diagonal, silhouette, split frame) - Seasonal mood: Atmospheric tone derived from the date - Style rotation: Uses suggested_styles from style-presets.json instead of hardcoded category mappings - Character shuffle: Date-seeded randomization of character order and count (1, 2, or all available) All randomness is date-seeded for reproducibility: same date = same output. 7 lenses × 6 compositions × 4 seasons = 168 unique creative briefs. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Extends the seasonal mood system with 12 holiday-specific overrides: Fixed date holidays (2-3 day windows): - New Year's (Dec 31 - Jan 2) - Valentine's Day (Feb 13-15) - St. Patrick's Day (Mar 16-17) - April Fools (Apr 1) - Bitcoin Pizza Day (May 22) - 4th of July (Jul 3-5) - Ethereum Birthday (Jul 30) - Halloween (Oct 29-31) - Christmas (Dec 23-26) Variable holidays (hardcoded 2025-2035): - Thanksgiving (Wed-Fri around 4th Thursday) - Easter (Sat-Mon around Easter Sunday) Priority: Easter > Thanksgiving > Fixed holidays > Seasonal (Easter 2029 falls on April 1st, correctly takes priority over April Fools) Total unique moods: 4 seasons + 12 holidays = 16 Total combinations: 7 lenses × 6 compositions × 16 moods = 672 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Halloween (Oct 29-31): Characters wear Halloween costumes - Christmas (Dec 23-26): Characters wear Santa hats and holiday attire 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- CDN Upload section with setup, usage, and full workflow - Organic Variation System explaining creative brief components - Holiday moods table with special features (costumes, Santa hats) - Style rotation explanation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update OUTPUT_DIR in illustrate.py to use media/ - Update GitHub workflow paths - Update README documentation with new paths - Remove old posters/ directory (content moves to CDN) This separates generated media output from scripts/posters/ code, and prepares for CDN-first media hosting. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Read poster URL from facts.media.posters.overall (Bunny CDN) - Remove --poster/-p flag (URL now embedded in facts file) - Remove cleanup_old_posters() function (using CDN instead) - Simplify daily_discord_briefing workflow - Update facts with CDN media URLs 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Summary
Closes #34
Adds a "daily creative brief" system that introduces natural variation in batch-generated illustrations while maintaining reproducibility.
Changes
Creative Brief System: Each day gets a unique creative direction combining:
Style Rotation: Uses
suggested_stylesfromstyle-presets.jsoninstead of hardcodedCATEGORY_STYLESmappingCharacter Shuffle: Date-seeded randomization of character order and count (1, 2, or all available)
Example Output
Dec 30:
Dec 31:
Reproducibility
All randomness is date-seeded: same date = same output.
7 lenses × 6 compositions × 4 seasons = 168 unique creative briefs before repeating.
Test Plan
--dry-runwith multiple dates to verify variationsuggested_stylesin config🤖 Generated with Claude Code