golem
推送了 main 分支的代碼到 lucky/astro-mcp
13cc83329b feat(chart): SVG chart wheel renderer with Astronomicon font
Chart rendering engine for astro-mcp. Renders professional astrological
chart wheels as SVG with the Astronomicon font (OFL licensed).
Renderer (chart_renderer.py):
- Natal wheel with zodiac ring, house sectors, planet glyphs, aspect lines
- Transit bi-wheel (natal inner + transit outer)
- Three color modes: color (element-themed), bw (line-style coded), dark (web)
- Zodiac band rotates based on ASC (correct for all house systems)
- Degree tick marks on zodiac ring (every 5°, major at 30°)
- Angular house cusps (1,4,7,10) drawn bolder
- Planet collision avoidance (spreads overlapping glyphs)
- Angle axis lines (ASC-DSC horizontal, MC-IC vertical)
- Angle labels at outer edge with degree+sign for ASC
- Compact title block: chart type, birth datetime, lat/lon, house system
- Footer: astro-mcp version, house system, zodiac type
- Table layouts: 'none' (wheel only), 'below' (portrait), 'right' (landscape)
- Planet table: glyph, sign, degree, house, Rx
- House table: house, sign, cusp degree
MCP Tools (10 new render tools):
- render_natal_chart / render_natal_chart_by_id
- render_transit_chart / render_transit_chart_by_id
- render_synastry_chart / render_synastry_chart_by_id
- render_composite_chart / render_composite_chart_by_id
- render_davison_chart / render_davison_chart_by_id
Each render tool mirrors the corresponding calc tool's birth data params,
plus rendering options (style, color_mode, size, table_position, etc).
Reference docs:
- docs/astrological_chart_rendering_guide.md (comprehensive guide)
- docs/chart-rendering-api-design.md (API design decisions)
1 月之前