| sign_ring_thickness_fraction | float | No | 0.16 | Sign ring thickness (0.0-1.0) |
| house_ring_thickness_fraction | float | No | 0.05 | House ring thickness (0.0-1.0) |
| center_disk_fraction | float | No | 0.45 | Center disk radius (0.0-1.0) |
| show_decans | boolean | No | false | Render an opt-in inner ring of 36 ten-degree decans. Supported in both standard and French chart layouts. |
| decan_system | string | No | chaldean | Ruler system: "chaldean" or its explicit alias "traditional_chaldean" for the seven classical planets, or "modern_triplicity" to include Uranus, Neptune, and Pluto. |
| decan_ring_thickness_fraction | float | No | 0.04 | Radial thickness of the decan band as a fraction of chart radius. Allowed range: greater than 0 through 0.2. |
| decan_symbol_scale | float | No | 0.14 | Scale of each planetary ruler glyph. Allowed range: greater than 0 through 1.5. |
| decan_symbol_stroke_width | float | No | 1.2 | Stroke width of the planetary ruler glyphs. Allowed range: 0-10. |
| decan_symbol_color | string | No | null | Optional ruler glyph color. When omitted, the renderer uses a dark theme-aware foreground (near-charcoal #2c3237 on the default light background). |
| decan_line_width | float | No | 0.8 | Backward-compatible shared fallback width for the decan ring circles and radial separators. Allowed range: 0-10. |
| decan_line_color | string | No | null | Backward-compatible shared fallback color for the decan ring circles and radial separators. |
| decan_ring_line_width | float | No | null | Independent stroke width for the inner and outer decan ring circles. Uses decan_line_width when omitted; set to 0 to hide both circles. |
| decan_ring_line_color | string | No | null | Independent color for the inner and outer decan ring circles. Uses decan_line_color when omitted. |
| decan_separator_width | float | No | null | Independent stroke width for the 36 radial ten-degree separators. Uses decan_line_width when omitted; set to 0 to hide separators. |
| decan_separator_color | string | No | null | Independent color for the radial decan separators. Uses decan_line_color when omitted. |
| decan_background_color | string | No | null | Optional uniform decan-band fill. When omitted, adjacent faces receive a subtle alternating theme tint. |
| decan_background_opacity | float | No | 0.08 | Strength of the alternating decan background tint when no uniform fill is supplied. Allowed range: 0-1. |
| planet_symbol_scale | float | No | 0.35 | Planet symbol size multiplier |
| planet_spacing_scale | float | No | auto | Multiplier applied to planet glyph angular spacing. If omitted, spacing increases automatically when planet_symbol_scale is above default. |
| planet_color_mode | "body" | "sign" | No | body | Color source for non-angle planet and point glyphs. "body" uses each body's default palette; "sign" matches the element color of the occupied sign. Explicit custom planet colors take precedence. |
| sign_symbol_scale | float | No | 0.6 | Sign symbol size multiplier |
| house_number_scale | float | No | 0.35 | House number size multiplier |
| chart_background | string | No | null | Background color override (hex) |
| aspect_circle_background | string | No | null | Fill color for the central aspect circle/disk. Defaults to chart_background or the active theme background. |
| custom_planet_color | string | No | null | Override all planet colors (hex) |
| custom_sign_color | string | No | null | Override all sign symbol colors (hex) |
| custom_house_color | string | No | null | Override all house number colors (hex) |
| degree_label_color | string | No | null | Override planet degree/minute label text color (hex or CSS color) |
| angle_label_color | string | No | null | Fallback color for all ASC/DSC/MC/IC glyph labels. |
| asc_label_color | string | No | null | ASC glyph label color. Also available for dsc_label_color, mc_label_color, and ic_label_color. |
| angle_label_scale | float | No | null | Fallback scale multiplier for all ASC/DSC/MC/IC glyph labels. |
| asc_label_scale | float | No | null | ASC glyph label scale multiplier. Also available for dsc_label_scale, mc_label_scale, and ic_label_scale. |
| angle_label_radius_offset | float | No | 0 | Move all angle labels along their fixed axes in SVG pixels; negative moves inward and positive outward. |
| asc_label_radius_offset | float | No | null | Per-angle axis offset. Also available for dsc_label_radius_offset, mc_label_radius_offset, and ic_label_radius_offset. |
| angle_label_style | string | No | international | Angle label convention: "international" = ASC/DSC/IC/MC, "french" = AS/DS/FC/MC, or "astrocom" = AS/DS/IC/MC. |
| angle_marker_style | string | No | glyph | Angle marker rendering: "glyph" keeps the selected angle abbreviations; "french_arrow" draws French-style ASC/MC axis arrows outside the sign ring. |
| angle_line_span | string | No | wheel | Angle axis line span: "wheel" keeps ASC/DSC and MC/IC lines in the default wheel area; "full" extends those axes across the chart and stops at the sign ring edge. Use angle_marker_style "french_arrow" when you want outside-ring ASC/MC arrows. |
| show_angle_labels_with_french_arrows | boolean | No | true | When angle_marker_style is "french_arrow", render enabled ASC/DSC/MC/IC glyph labels. Set false to hide them. |
| avoid_angle_label_collisions | boolean | No | true | Keep movable planets and points clear of visible angle labels. Set false to exclude angle labels from collision placement. |
| show_synastry_inner_planet_guides | boolean | No | false | For synastry inner-wheel planets, draw dashed radial guides from their divider-ring longitude ticks to the inner sign-ring circle. |
| planet_connector_clearance | float | No | auto | Distance in SVG pixels from a planet/point glyph center where its connector line stops. Increase this when large glyphs need more breathing room. |
| custom_sign_bg_color | string | No | null | Single hex color applied to all 12 sign ring backgrounds. When set, sign backgrounds are automatically enabled. |
| custom_house_bg_color | string | No | null | Single hex color applied to all 12 house ring backgrounds. When set, house backgrounds are automatically enabled. |
| house_highlights | object | No | {} | Map primary house numbers 1-12 to background colors, for example {"7":"#F59E0B"}. Only the listed house sectors are highlighted. |
| house_highlight_opacity | float | No | 0.35 | Opacity for house_highlights colors before they are composited over the chart background. Allowed range: 0-1. |
| house_highlight_include_planet_zone | boolean | No | false | When true, continue each selected house color through the corresponding primary planet lane. |
| show_angle_aspects | boolean | No | true | Include aspect lines and aspect degree ticks involving ASC, DSC, MC, or IC. Set false to keep planet-to-planet aspects while leaving enabled angle axes and labels visible. |
| aspect_excluded_bodies | array<string> | No | [] | Hide SVG aspect lines, midpoint symbols, and aspect degree ticks touching listed body ids while keeping the bodies visible. Example: ["part_of_fortune", "chiron"]. Names are case-insensitive, with common angle, node, Lilith, and Part of Fortune aliases accepted. This visual-only filter applies across both rings in bi-wheel charts and does not change calculated aspects or pattern detection. |
| aspect_opacity_by_strength | boolean | No | true | When true, aspect line and midpoint-symbol opacity follows orb strength. Set false for two fixed tiers with no orb-based variation: 100% for conjunction, opposition, trine, square, and sextile; 70% for minor aspects such as quincunx. The global stroke_opacity multiplier still applies. |
| show_aspect_symbols | boolean | No | auto | Show midpoint aspect glyphs and split aspect lines around them. Defaults to on in French style and off otherwise. |
| show_pattern_overlays | boolean | No | false | Overlay detected chart structures and patterns on the SVG. Supported structures include grand_trine, t_square, yod, kite, grand_cross, minor_grand_trine, wedge, mystic_rectangle, cradle, castle, grand_sextile, and stellium. |
| pattern_overlay_types | array | No | null | Optional allow-list of overlay types to render, for example ["grand_trine", "t_square", "stellium"]. When omitted, all detected supported overlays may render up to pattern_overlay_max_items. |
| pattern_overlay_style | string | No | subtle | Overlay intensity: "subtle" or "strong". |
| pattern_overlay_labels | boolean | No | false | Show compact labels for rendered configuration overlays. |
| pattern_overlay_max_items | integer | No | 4 | Maximum number of configuration overlays to draw. Stellium sign/house highlights are separate and are not counted against this limit. |
| embed_pattern_metadata | boolean | No | false | Embed detected overlay data in an SVG metadata element for downstream hover, legend, or selection UI. |
| show_horoscope_shape | boolean | No | false | Detect the chart distribution shape using only the 10 planets and render it in the central aspect disk. When a shape is detected, regular central aspect lines/ticks are hidden for readability. |
| horoscope_shape_style | string | No | subtle | Horoscope shape overlay intensity: "subtle" or "strong". |
| horoscope_shape_color | string | No | #D97706 | SVG color used for all horoscope shape overlays. |
| horoscope_shape_label | boolean | No | true | Show a compact label for the detected shape, such as Bucket, Bowl, Locomotive, Bundle, Splash, or Seesaw. |
| embed_horoscope_shape_metadata | boolean | No | true | Embed detected horoscope shape data in an SVG metadata element. |
| show_retrograde_markers | boolean | No | false | Enable retrograde markers on planet degree labels. |
| retrograde_marker_style | string | No | R | Retrograde marker style when enabled: "R" or "rx" (℞). |
| degree_label_format | string | No | null | Planet degree label format: "degree" for whole degrees, "decimal" for decimal degrees, or "minutes" for stacked minute + sign glyph + whole degree labels. If omitted, degree_label_precision > 0 preserves the legacy minutes layout. |
| degree_label_precision | integer | No | 0 | Decimal places for degree_label_format="decimal". Allowed range: 0-4. For backward compatibility, if degree_label_format is omitted, values greater than 0 enable the stacked minutes layout. |
| degree_label_scale | float | No | 0.6 | Base planet degree label text scale. |
| degree_label_degree_scale | float | No | 1.0 | Precise label whole-degree text scale relative to degree_label_scale. |
| degree_label_minute_scale | float | No | 1.0 | Precise label minute text scale relative to degree_label_scale. |
| degree_label_sign_scale | float | No | 1.25 | Precise label zodiac sign glyph scale relative to degree_label_scale. |
| degree_label_row_gap | float | No | 1.55 | Precise label spacing between degree, sign, and minute rows, relative to degree_label_scale. |
| houses_inside_planets | boolean | No | true | Place houses inside planet ring |
| french_style | boolean | No | false | Natal-only French horoscope layout: aspect disk inside sign rim, houses outside signs, planets outside houses. |
| french_planet_radius_offset | float | No | 0 | Natal French-mode only. Moves planet glyphs radially outward or inward without moving the house/sign rings. |