< Back to calendar overview


Showcase with 5 moons in a single calendar

The moons property inside a Calendar Configuration defines celestial bodies orbiting your world. You can configure multiple moons per calendar, each with its own cycle length, phase alignment offset, custom colors, and phase count resolution.
Moons get rendered dynamically across various phases based on their synodic cycle.

These appear on top of their respective calendar’s axis. The more you zoom out, the more moons disappear in favor of performance and clarity.

Configuration

The moons property contains a list of moons. Each moon configuration supports the following properties:

Day 0 (Epoch Origin) Day 10 New Moon Offset offset = 10 days Day 40 Next New Moon cycle = 30 days (New Moon to New Moon Distance)
PropertyTypeDefaultDescription
offsetnumber (required)n/aDay where a new moon gets drawn relative to Day 0.
cyclenumber (required)n/aTotal duration of one full synodic cycle in days.
colorstring (optional)currentColorForeground color (lit portion) as a hex or color name.
colorBgstring (optional)blackBackground color (unlit portion) of the moon icon.
phasesnumber (optional)4Resolution / total step count of phases in the cycle.

The cycle determines the period of the orbit, while offset positions the baseline new moon alignment on your timeline.

Example

Below is the moon section of a Calendar Configuration example featuring custom offsets, cycle lengths, colors, and phase configurations:

![tip] Moons get drawn in order
The first one gets drawn behind all others, it is basically the furthest from your planet.
The last one is the closest to your planet.

moons:
  # Legendary Blood Moon with custom phase resolution
  - cycle: 3000
    offset: 2123
    color: crimson
    phases: 16
  # Primary Silver Moon (default notation)
  - cycle: 28.3
    offset: 10
    color: '#ffd700'
    # Secondary Fast Moon with minimal configuration (no color, short notation)
  - {cycle: 12.72, offset: 2.5}