Generally speaking, the trees represent the present, the sky shows the future, and the ground shows the past. This is based on four parameters: pastBadness, currentBadness, scariness, futureBadness.

## The Four Main Parameters

The four main parameters are computed from data downloaded from The COVID Tracking Project and Rt Live. The casesPerDayPer100K and deathsPerDayPer100K values are a seven day running average.

This value represents how bad things have been. It is the weighted average of

• deathsTotalPer100K [weight 2], normalized so that {0 → 100} ↦ {0.0 → 1.0}
• casesTotalPer100K [weight 1], normalized so that {0 → 10000} ↦ {0.0 → 1.0}

This represents how bad things are currently and is the weighted average of

• casesPerDayPer100K [weight 1], {0 → 25} ↦ {0.0 → 1.0}
• hospitalizedPer100K [weight 1], {0 → 20 ↦ {0.0 → 1.0}

### scariness

This is an attempt at denoting how likely it is that a person will get infected. It is the weighted average of

• Rt [weight 2], {0.8 → 1.1} ↦ {0.0 → 1.0}
• casesPerDayPer100K [weight 1], {0 → 25} ↦ {0.0 → 1.0}
• hospitalizedPer100K [weight 1], {0 → 20 ↦ {0.0 → 1.0}

Where Rt is the effective reproduction rate of the virus – the average number of other people each infected person will infect. This contributes strongly to the scariness because high values of Rt indicate that there are lots of infected people wandering about that don't yet know they are infected.

This represents how bad the near future is likely to be. It's based entirely on Rt since that seems to be a good indicator of how things will be in about a month.

• Rt {0.8 → 1.3} ↦ {0.0 → 1.0}

## The Ground

The ground represents the past. It starts out green, with no fallen leaves. As the past gets worse, it shifts towards brown and the number of fallen leaves increases. This is controlled by the following values:

• groundHue = pastBadness ↦ {145 → 32}
• groundSaturation = pastBadness ↦ {60 → 0}
• groundLightness = pastBadness ↦ {30 → 20}
• numFallenLeaves = pastBadness ↦ {0 → 300}
• fallenLeafHue = pastBadness ↦ {145 → 32}
• fallenLeafSaturation = pastBadness ↦ {30 → 5}
• fallenLeafLightness = pastBadness ↦ {40 → 30}

## The Sky

The sky represents the near future. If the future looks good, then the sky is bright and clear of clouds. As the future dims, the sky gets darker, its color shifts towards red, and the clouds increase.

• skyHue = scariness ↦ {180 → 360}
• skySaturation = futureBadness ↦ {50 → 0}
• skyLightness = futureBadness ↦ {95 → 10}
• horizonLightness = futureBadness ↦ {100 → 0}

## The Trees

The trees represent the present. They get more gnarled and scary as the present worsens. There is one value that isn't influenced by the present – the size of the tree leaves decreases with the past badness. So even after a location recovers, the leaves on the tree will never quite be as large as they were before the pandemic.

• treeTrunkWidth = currentBadness ↦ {50 → 30}
• treeAsymmetry = scariness ↦ {0.0 → 1.0}
• treeLeanAngle = currentBadness ↦ {0 → 4}
• minTreeBranchAngleChange = f(scariness,asymmetry) ↦ {12 → -10}
• maxTreeBranchAngleChange = f(scariness,asymmetry) ↦ {12 → 40}
• treeBranchWaviness = scariness ↦ {4 → 30}
• treeBarkHue = currentBadness ↦ {10 → 280}
• treeBarkSaturation = currentBadness ↦ {10 → 40}
• treeBarkLightness = currentBadness ↦ {20 → 40}
• treeLeafHue = currentBadness ↦ {145 → 0}
• treeLeafSaturation = currentBadness ↦ {40 → 10}
• treeLeafLightness = currentBadness ↦ {60 → 10}
• treeLeafSize = pastBadness ↦ {1.0 → 0.1}