Regen from quality 90. Addressed:
- Fixed canvas: width=620, height=330, scale_factor=4.0 with PIL padding to exact 3200×1800
- Fixed title to piano-roll-midi · python · altair · anyplot.ai (added language token, fixed anyplot.ai)
- Fixed output files to plot-{THEME}.png + plot-{THEME}.html
- Added full ANYPLOT_THEME support with theme-adaptive chrome (PAGE_BG, INK, INK_SOFT, ELEVATED_BG)
- Replaced custom velocity palette with Imprint sequential (#009E73→#4467A3) — fixes perceptual uniformity weakness
- Made piano key background rows theme-adaptive (light/dark alternating shading)
- Added sys.path fix to prevent altair.py shadowing installed altair package
- Added configure_view/configure_axis/configure_legend with full theme tokens
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Implementation:
piano-roll-midi- python/altairImplements the python/altair version of
piano-roll-midi.File:
plots/piano-roll-midi/implementations/python/altair.pyParent Issue: #4565
🤖 impl-generate workflow