Tags: mosjin/ppt-master
Tags
v11.0 标准冻结基线 — EduForge v11.0 七联帧 Q→P→D→B→M→A→I + 五幕 RLSIΣ + 58项检查清单
fix: parse_hex_color accepts CSS named colors + rgb() — bump 2.7.3 (f… …ixes eduForge hugohe3#19) Bug: - parse_hex_color() in drawingml_utils.py rejected non-hex inputs - Callers fell back to '000000' (black) when None returned - SVGs using fill="white" (and other CSS named colors) rendered as BLACK text in DrawingML output - On dark-themed slides (e.g., #0D1117 bg), white-on-dark text became black-on-dark → entire pages appeared blank/black in PowerPoint Reproducer (eduForge hugohe3#19): - LLM generated dark-theme SVGs with fill="white" / fill="navy" / etc. - ppt-master converted them; every named-color fill collapsed to '000000' - User: "95% of PPT pages render as black images" - Verified on dp_lis P01.svg: 6 fill="white" text runs were silently converted to fill="000000" before this fix Fix: 1. Added _CSS_NAMED_COLORS dict (147 CSS Color Module Level 3 names → 6-digit hex, including SVG additions like 'rebeccapurple', 'transparent') 2. Extended parse_hex_color to handle: - #RRGGBB (canonical hex, unchanged) - #RGB (3-digit shorthand, unchanged) - CSS named colors (case-insensitive lookup, NEW) - rgb(R, G, B) / rgb(R G B) functional notation (NEW) 3. Documented hugohe3#19 root cause inline so future readers don't reintroduce. Verification (e2e on dp_lis P01.svg): Before fix: 0 white runs (all collapsed to black) After fix: 6 white runs preserved correctly as FFFFFF Version bump 2.7.2 → 2.7.3 (marketplace.json + SKILL.md).