feat(letsplot): implement line-yield-curve#8557
Conversation
Regen from quality 91. Addressed:
- Canvas: fixed to canonical ggsize(800, 450) + scale=4 → 3200×1800 px (was 1600×900 + scale=3)
- Theme-adaptive chrome: added ANYPLOT_THEME env var, PAGE_BG/INK/INK_SOFT/ELEVATED_BG tokens
- Colors: corrected to Imprint palette canonical order (#009E73 first), using pd.Categorical for deterministic assignment
- Output: save as plot-{THEME}.png and plot-{THEME}.html (was plot.png without theme suffix)
- Title: updated pyplots.ai → anyplot.ai
- Font sizes: aligned to library prompt (title=16, axis_title=12, axis_text=10, legend=10)
- Tick crowding: replaced 3M/1Y with 6M/1Y to eliminate short-maturity crowding
- Inversion ribbon: uses #AE3030 (Imprint semantic red) for consistency
AI Review - Attempt 1/3Image Description
Score: 89/100
Visual Quality (29/30)
Design Excellence (13/20)
Spec Compliance (14/15)
Data Quality (15/15)
Code Quality (10/10)
Library Mastery (8/10)
Score Caps Applied
Strengths
Weaknesses
Issues Found
AI Feedback for Next Attempt
Verdict: REJECTED |
Attempt 1/3 - fixes based on AI review
🔧 Repair Attempt 1/4Applied fixes based on AI review feedback. Status: Repair completed, re-triggering review... |
AI Review - Attempt 2/3Image Description
Score: 87/100
Visual Quality (27/30)
Design Excellence (13/20)
Spec Compliance (15/15)
Data Quality (15/15)
Code Quality (10/10)
Library Mastery (7/10)
Score Caps Applied
Strengths
Weaknesses
Issues Found
AI Feedback for Next Attempt
Verdict: APPROVED |
Implementation:
line-yield-curve- python/letsplotImplements the python/letsplot version of
line-yield-curve.File:
plots/line-yield-curve/implementations/python/letsplot.pyParent Issue: #4664
🤖 impl-generate workflow