Closes #186 - Add app/services/apng_generator.py: scrubs CSS animations via Playwright (negative animation-delay + running override), assembles frames with apng lib - Add GET /{player_id}/{card_type}card/{d}/{variant}/animated endpoint: returns cached .apng for T3/T4 cards, 404 for T0-T2 - T3: 12 frames × 200ms (gold shimmer, 2.5s cycle) - T4: 24 frames × 250ms (prismatic sweep + diamond glow, 6s cycle) - Cache path: storage/cards/cardset-{id}/{type}/{player_id}-{d}-v{variant}.apng - Add apng==3.1.1 to requirements.txt Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
16 lines
271 B
Plaintext
16 lines
271 B
Plaintext
pydantic==1.10.21
|
|
fastapi==0.111.1
|
|
uvicorn==0.30.6
|
|
peewee==3.17.9
|
|
psycopg2-binary==2.9.9
|
|
python-multipart==0.0.9
|
|
numpy==1.26.4
|
|
pandas==2.2.3
|
|
pygsheets==2.0.6
|
|
pybaseball==2.2.7
|
|
requests==2.32.3
|
|
html2image==2.0.6
|
|
jinja2==3.1.4
|
|
playwright==1.45.1
|
|
apng==3.1.1
|