This is how we got here.
It began in February when the City Council voted to rechristen two parks named for Confederate generals and to remove a bronze statue of one of those generals, Robert E. Lee, from an eponymous downtown park.
The Charlottesville move met with resistance, as some residents sued, and a judge blocked the statue's removal for six months as the matter was litigated.
The City Council voted again in April, this time agreeing to sell the statue and let the buyer remove it, CNN affiliate WVIR reported
Violence began in May
Prominent white nationalist RIchard Spencer led a demonstration in mid-May that served as prelude
to Saturday's violence. Angered by the city's decision, torch-wielding demonstrators marched on the city, drawing condemnation from its leaders who regarded the protest as intimidation.
They were met by counterprotesters carrying banners that read "Black Lives Matter" and "F**k White Supremacy."
Police made three arrests. One police officer was injured when a flying object struck him in the head.
Fast-forward to July, and about 50 Ku Klux Klan members, some in Klan robes, arrived in the city, where they were outnumbered 20-to-1 by counterprotesters
Shouts of "Racists go home" clashed with chants of "white power."
Police had to employ pepper spray and tear gas to disperse crowds. They arrested 22 people.
Friday night: Scuffles at UVA
The most recent violence began Friday night, ahead of a planned Saturday rally that the Southern Poverty Law Center described as the "largest hate-gathering of its kind in decades."
Charlottesville had tried to move the demonstration, citing safety concerns, but a federal judge issued an injunction allowing the rally to take place at Emancipation Park, formerly Lee Park and the site of the contentious statue.
Jason Kessler, who organized the "Unite the Right" rally, said the rally was aimed at "standing up for our history."
"The statue itself is symbolic of a lot of larger issues," including preserving history against "revisionism," combating political correctness, advocating for white interests and free speech, Kessler said.
Scuffles erupted near a statue of President Thomas Jefferson on the nearby University of Virginia campus. Police declared the demonstration illegal and ran off the white nationalists and counterprotesters.
Saturday morning: Rally canceled, violence continues
The Saturday event lived up to its SPLC billing
, as fistfights and screaming matches broke out in this blue town of 47,000 that is home to Monticello, Jefferson's onetime estate.
Protesters fired pepper spray at each other. Police scrambled to disperse the crowd ahead of the rally's noon kickoff and declared an "unlawful assembly" just before the rally was slated to begin.
Gov. Terry McAuliffe quickly declared an emergency.
"Go home," the Democrat told right-wing groups in the city
. "You are not wanted in this great commonwealth. Shame on you."
By 1 p.m. police had cleared Emancipation Park, and by early afternoon, police in riot gear stood shoulder-to-shoulder behind their shields, at times advancing toward protesters.
Fights continued to break out, with people kicking and swinging at each other, while other protesters tried to de-escalate tensions without police intervention. One side chanted, "Blood and soil!," an old Nazi slogan, while counterprotesters cried, "Nazi scum off our streets!"
Saturday afternoon: Car slams into protesters
Police reported 15 injuries associated with the rally, but that toll jumped around 1:30 p.m. when a man drove a silver Dodge Charger into a crowd, killing Heather Heyer, a 32-year-old local paralegal whose father said she was always fighting for others.
Nineteen more people were injured. Video shows the Charger barreling down a narrow side street packed with protesters. It slams into a silver convertible, throwing one protester onto the convertible's roof.
The driver then backs down the street, its bumper dragging, and several protesters give chase.
Authorities later arrested James Alex Fields, 20, of Maumee, Ohio, jailing him on suspicion of second-degree murder, malicious wounding and failure to stop in an accident that resulted in death. The Justice Department is also looking into the case
A social studies teacher at Fields' Union, Kentucky, high school later told CNN the young man had "outlandish, very radical beliefs."
"He really bought into this white supremacist thing. He was very big into Nazism. He really had a fondness for Adolf Hitler," said Derek Weimer, who taught Fields as a junior and senior.
Saturday evening: Presidential response
The day got deadlier just before 5 p.m., when two Virginia State Police troopers died after their helicopter crashed while they were on patrol
near the clashes. They were identified as Lt. H. Jay Cullen, 48, and Trooper-Pilot Berke M.M. Bates, 40.
While President Donald Trump issued his condolences to the families of Heyer and the troopers, he issued a controversial statement on the violence
, admonishing "hatred, bigotry and violence, on many sides," rather than singling out the white nationalists who staged the rally.
A White House official, requesting anonymity, later said, it was obvious Trump condemned "white supremacists, KKK, neo-Nazi and all extremist groups." But as of midday Monday Trump hadn't come out and said it himself, despite Republicans and Democrats calling for a stronger statement.
The fallout from Trump's reticence led to Merck CEO Kenneth Frazier, an African-American, stepping down from the President's manufacturing council, issuing a statement, saying US leaders must reject "expressions of hatred."
Within minutes, Trump attacked him on Twitter
, saying Frazier's resignation would give him more time to "LOWER RIPOFF DRUG PRICES!"
Still, he delivered no condemnation of white nationalism. That came Monday afternoon
, when he called racism "evil" and said those who caused the violence, "including KKK, neo-Nazis, white supremacists, and other hate groups, are repugnant to everything we hold dear as Americans."
Sunday: Time to heal
On Sunday, state and local leaders attended a rally at a black church
and seemed ready to put the incident behind them and look forward to the recovery process.
"That's not what we're about. So I am here this morning, as your lieutenant governor, and also as a doctor, to start the healing process." Lt. Gov. Ralph Northam told Mount Zion First African Baptist Church, to applause.
Kessler, the rally organizer, took a different tack, blaming Charlottesville government and police for the violence and for failing to "protect the First Amendment rights of rally participants."
Meanwhile, Americans from California to Maine marched in solidarity with Charlottesville, with more than 130 rallies taking place around the nation.
On Monday, Fields appeared in court via video link. He wore a black-and-white jumpsuit, as the judge informed him of his rights and the charges against him. A court hearing was set for August 25.
More rallies coming
What's next besides the hearing?
Numerous sources in recent months have told CNN that they feel today's tumultuous political climate has given hate a broader platform, and it appears Charlottesville's violence has done little to deter controversial speakers from staging rallies around the country.
Boston has a "free-speech rally" featuring numerous far right-wing speakers scheduled August 19.
Spencer, the white nationalist whose presence has spurred protests on many campuses
, is scheduled to speak September 11 at Texas A&M
, which protested his appearance in December
. University of Florida President W. Kent Fuchs has notified students and faculty that Spencer seeks to speak on the UF campus
the following day.
There are also rallies planned in the Bay Area later this month, with a another "free speech rally" scheduled for August 26 in San Francisco and a "No to Marxism" event planned in nearby Berkeley the next day.
"In America we have Marxism being taught in our schools and communities. Berkeley is a ground zero for the Marxist Movement and we need to speak out and say NO to Marxism," a promotion says.