Terrified revellers screamed as a truck careered into a crowd of fireworks spectators in Nice, turning Bastille Day celebrations into a night of horror.
AFP correspondent Robert Holloway was among the crowds celebrating France's national day on Nice's Promenade des Anglais when the nightmare began.
He had to shield his face from flying debris as the truck plunged two kilometres (1.3 miles) along the French Riviera resort's palm-fringed beachfront, mowing people down in its wake.
"It was absolute chaos," Holloway said.
"We saw people hit and bits of debris flying around. I had to protect my face from flying debris."
At least 80 people have been killed in what French President Francois Hollande has branded a terrorist attack.
Bodies lay covered in sheets on what is usually a bustling seven-kilometre strip curving along Nice's clear blue coast, attracting tourists from around the world.
A child's doll lay abandoned next to one of the dead, as Hollande confirmed that several children were among the victims.
In the early hours of Friday, the truck itself sat finally immobilised in front of the luxury Palais de la Mediterranee hotel, badly damaged with its tyres burst and multiple bullet holes in its windscreen.
The driver had fired a pistol several times before being shot dead by police, regional chief Christian Estrosi said.
All hell broke loose
A witness named Nader told BFM television he had seen the whole attack from start to finish, and had initially thought the driver had "lost control".
"I was in the street. He stopped just in front of me after he (crushed) a lot of people," he said. "We were trying to speak to the driver to get him to stop.
"He looked nervous. There was a girl under the car, he smashed her. The guy next to me pulled her out," he said in broken English.
Nader said he saw the driver pull out a gun and start shooting at police.
"They killed him and his head was out the window."
People screamed and scattered as the truck veered down the beachfront where thousands of adults and children had gathered for the fireworks.
"For a big truck like that to get actually onto the promenade and then to go in a fairly straight line along there, looked to me like a very deliberate act," Holloway said.
"It was about 100 metres from me and I had a few seconds to get out of the way."
Several witnesses described how people hurled themselves off the promenade onto the beach below to escape the path of the truck.
Marie, a 37-year-old security guard at the nearby beachfront Massena Museum which itself hosted Bastille Day festivities just hours before the attack described the panic as people tried to flee.
"We saw hundreds of people rushing to get shelter," she told AFP, still stunned.
"There were children, people got trampled."
A single high-heeled shoe lay on a nearby road, lost in the panic.
The city streets were quiet as dawn approached, with the exception of the many soldiers and members of the security forces out on patrol.
Witness Roy Calley, who said he lived 200 metres from the promenade, told the BBC there was "all hell breaking loose" and the situation was "pretty horrendous".
"It was a celebratory atmosphere, it was fun, people were enjoying themselves.
Suddenly I heard a huge, what I can only describe as maybe an explosion or a crash.
A lot of people were screaming. That was followed by what I thought were maybe gunshots."
David Cody, a producer for the Australian Broadcasting Corporation who was at the scene, added: "People were tripping over in the commotion, there was a lot of panic.
"People were trying to get into hotels, any businesses that were open, trying to take shelter, because it was unclear what was happening.
"With each bang that we heard behind us, people perhaps started to go a bit faster, people were tripping over. It was a very chaotic scene."
Earlier in the evening, as the crowds enjoyed the fireworks, lightning had flashed in the skies over Nice.