Commit Graph

7 Commits

Author SHA1 Message Date
Jeff Emmett c1295e8c81 Merge server changes: fixed-width glyph cells, Web Worker animation
Incorporates uncommitted server-side improvements:
- VARIABLE_WIDTH_PALETTES + fixed-width <span class="c"> cells for grid alignment
- Web Worker-based animation timer (keeps running in background tabs)
- Passes fix_cells through animate_image() for animation frames

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 15:40:18 -07:00
Jeff Emmett 588fe0028c Add animation output: 5 image effects, pattern animation, GIF export
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>
2026-04-02 15:33:53 -07:00
Jeff Emmett 3176a36ce6 Fix emoji/wide-char palette proportions
Emoji, hieroglyphs, dominos, mahjong, playing cards, cuneiform,
alchemical, flora, and weather palettes use double-width characters
that display at 2x normal monospace width in browsers.

Fix: detect wide palettes and halve the render width with adjusted
aspect ratio (1.0 instead of 0.55) so the output maintains correct
image proportions regardless of character width.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 04:22:15 +00:00
Jeff Emmett 16a5dbca11 Super high-res rendering: up to 1500 chars wide
- 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>
2026-04-02 04:16:36 +00:00
Jeff Emmett 963096eaef Fix photo orientation and aspect ratio
- Apply EXIF transpose so phone photos render right-side-up
- Adjust char aspect ratio from 0.45 to 0.55 to match browser
  rendering (8px font, 1.05 line-height, monospace ~0.6 w/h)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 04:11:50 +00:00
Jeff Emmett b1874eace7 Add exotic palettes, pattern generator, and layout improvements
- 17 new exotic palettes: hieroglyph, cuneiform, thai, arabic, devanagari,
  ethiopic, georgian, tibetan, alchemical, dominos, mahjong, dingbats,
  playing cards, yijing, box drawing, math symbols, flora, weather
- Pattern generator with 10 types: plasma, mandelbrot, spiral, waves,
  nebula, kaleidoscope, aurora, lava, crystals, fractal_tree
- Random pattern button with rainbow gradient
- Mode tabs (Image / Patterns) in controls bar
- Preview area now fills full viewport (header/footer hidden)
- Slimmer controls bar

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 02:13:32 +00:00
Jeff Emmett ebd4b12628 Initial release: ASCII Art Generator
- 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>
2026-04-02 01:43:17 +00:00