Extends the ASCII Art Generator with animation capabilities:
- 5 image effects (color cycle, wave, typewriter, pulse, glitch)
- Pattern animation via time-stepping phase parameters
- Browser playback with play/pause and frame counter
- Animated GIF export via server-side Pillow rendering (no new deps)
- New /api/animate and /api/animate-pattern endpoints
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Width slider now goes to 1500 (was 500), default 300
- Resolution presets: Low (100), Med (300), High (600), Ultra (1000), Max (1500)
- Optimized renderer: fast pixel access via img.load(), run-length color
grouping in HTML output (groups consecutive same-color chars into one span)
- 800-wide render in 0.5s, 1500-wide in 3.3s
- Base font reduced to 5px for ultra-dense display
- Container bumped to 4 CPU / 1GB RAM for heavy renders
- Uvicorn keep-alive timeout increased to 120s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Root cause: Cloudflare CDN was caching old static assets, so the
browser never received the updated JS with mode tab click handlers.
Fix: Add cache-busting query strings (?v=<timestamp>) to static
asset URLs, generated at container startup time. Every deploy
gets a new timestamp, forcing CDN to fetch fresh files.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Image to colorful Unicode art with 20 palettes (wingdings, braille, hires, dots, kanji, etc.)
- GIF animation support (frame-by-frame rendering)
- Floyd-Steinberg dithering for fine detail
- FastAPI web app with drag-drop upload, zoom controls, fullscreen, original image comparison
- Width up to 500 characters for high-resolution output
- Docker deployment with Traefik routing at ascii.jeffemmett.com
- rSpace integration as rcreate app (#30)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>