SPARTANBURG, S.C. — The quarterbacks may change from day to day.
But if there's a constant for the Panthers on offense, it's that wide receiver DJ Moore is going to make plays. That's good for a team that is still trying to decide which quarterback to play.
The veteran wideout had a great morning, with a number of highlight reel catches during the second practice of camp.
There was an early touchdown at full extension, which he punctuated with some minor gymnastics, another which he celebrated by dunking the ball over the goalpost, and a deep ball down the sidelines which he had to climb the ladder to grab.
So while it's generally hard to really stand out in unpadded, non-contact practices, Moore was noticeable for reasons beyond his bright yellow shoes.
That was good news for Baker Mayfield, who took his work with the ones on Thursday, and connected a couple of times with Moore in red zone work. But while it's easy to get caught up in the quarterback competition and focus on that, it's also important to remember that no matter which one ends up playing, he has one of the most reliable targets in the league.
Despite never having what you'd call a settled quarterback situation, Moore has topped 1,100 receiving yards each of the last three seasons, one of just two players in the league to do so (Bills star Stefon Diggs is the other).
And because they can count on that, they were eager to extend him this offseason, giving him a new deal that keeps him here through 2025. (And at a time when the receiver market is both volatile and expensive, having that kind of constant is good for a team that's still trying to settle the quarterback position).
— Speaking of quarterback reps, the Panthers split the work with Mayfield and Sam Darnold the first two days of camp, with Darnold practicing with the starters on the first day, and the second offense Thursday.
Panthers head coach Matt Rhule said they're still working through the plan for their division of labor there, and will likely begin to mix and match them, giving each quarterback chances with the ones to keep things as equitable as possible.
— The Panthers took a swing at veteran defensive end Carlos Dunlap, but he went another direction Thursday.
Dunlap agreed to a one-year deal with the Chiefs. The 33-year-old had 8.5 sacks last year with the Seahawks, and has 96.0 career sacks.
The Panthers continued to negotiate with him this week, after he visited the team in June. Ultimately, he chose to go with a Super Bowl contender as opposed to coming home (he's a native of North Charleston, S.C.).
Defensive end Brian Burns said he trusted the guys he had on the roster already, specifically Yetur Gross-Matos — "I think Yetur's the guy," he said. But the team's likely to continue to look at other veteran options, and could explore moves later in the offseason.
Veterans often become more available closer to final cuts, as teams start weighing contract numbers against younger and cheaper alternatives. That's one route they could take, but there are a few line options out there.
They're also likely to look for some cornerback depth, with Jaycee Horn on the PUP list and Rashaan Melvin retired. With seven corners remaining on the roster, there are extra reps for those guys, and you don't want to wear out their legs in July. They'll likely look at some options in the next few days to address the shortage.
— Rookie tackle Ikem Ekwonu has a game that's built on aggressiveness, so unpadded practices are hard for him. But Burns also said he was impressed by the work he's done against the rookie in limited work.
"Strong hands, powerful grip, he's got a couple of things he can work out but we'll get all that fixed in training camp. We'll handle that," Burns said. "But as far as his effort and his dog, that's nothing you can teach anyway, but he's got it for sure."
Ekwonu also got his first chance to sing in a team meeting, and the musical theater veteran felt pretty good about his rendition of "So Hard To Say Goodbye" by Boyz II Men.
"I got some applause, so I felt like I killed it," Ekwonu said.
— As Burns develops into a leader around here, one of the things he's been conscious of has been becoming more of a morning person.
He said he's been setting his alarm for 6 a.m. to begin his daily routine, which is a challenge since he routinely stays up until 3 a.m. during the offseason.
"That's not out; that's just up," he said with a laugh.
For a guy who usually gets up around the crack of noon, that's a significant bit of self-discipline.
— There's no more DBO sign at practice, but when players make the kind of errors that caused them to run last year, they simply come out of the drill. A number of linemen, including likely starting right guard Austin Corbett, were flagged for false starts.
That's something they're going to have to adjust to, as Rhule said they want to "use cadence as a weapon" on offense this year.
— While there were no interceptions in practice Thursday, several defensive players had chances.
Donte Jackson had his hands on a couple, along with safety Juston Burris and linebacker Julian Stanford. There's a reason some of these athletes end up on defense instead of offense.
But the emphasis on creating turnovers is going to be a thing they talk a lot about all camp.
— Mayfield admitted he was "pretty stupid" for wearing long pants and long sleeves to his first practice in Spartanburg, but he fixed part of that Thursday, opting for shorts instead. Other than throwing to Moore as often as he did, it was his best decision.
Check out action photos from the Panthers second day of training camp at Wofford.

CB - 24 - CJ Henderson

LB - 49 - Frankie Luvu

S - 25 - Xavier Woods
CB - 24 - CJ Henderson
S - 42 - Sam Franklin Jr.

S - 31 - Juston Burris

T - 79 - Ikem Ekwonu

QB - 6 - Baker Mayfield
QB - 9 - Matt Corral

S - 27 - Kenny Robinson

RB - 41 - Spencer Brown
T - 70 - Brady Christensen

DT - 93 - Bravvion Roy
LB - 47 - Kamal Martin

T - 75 - Cameron Erving
TE - 80 - Ian Thomas

TE - 84 - Stephen Sullivan
LB - 40 - Brandon Smith
CB - 23 - Stantley Thomas-Oliver III

TE - 43 - Jared Scott

S - 27 - Kenny Robinson

S - 31 - Juston Burris

S - 27 - Kenny Robinson

CB - 24 - CJ Henderson

S - 25 - Xavier Woods

S - 34 - Sean Chandler

S - 21 - Jeremy Chinn


DB - 38 - Myles Hartsfield


TE - 84 - Stephen Sullivan

S - 25 - Xavier Woods

WR - 81 - C.J. Saunders

S - 25 - Xavier Woods
CB - 26 - Donte Jackson
QB - 22 - Christian McCaffrey

CB - 26 - Donte Jackson

S - 27 - Kenny Robinson
CB - 23 - Stantley Thomas-Oliver III
WR - 15 - Andrew Parchment

LB - 50 - Julian Stanford

CB - 35 - Kalon Barnes

CB - 24 - CJ Henderson
S - 25 - Xavier Woods
S - 42 - Sam Franklin Jr.

LB - 55 - Cory Littleton

QB - 9 - Matt Corral

LB - 57 - Damien Wilson

LB - 49 - Frankie Luvu

WR - 2- DJ Moore

LB - 57 - Damien Wilson

LB - 47 - Kamal Martin

S - 25 - Xavier Woods
S - 21 - Jeremy Chinn

CB - 35 - Kalon Barnes

CB - 26 - Donte Jackson

RB - 33 - D'Onta Foreman

S - 42 - Sam Franklin Jr.
FB - 45 - Giovanni Ricci
DE - 48 - Arron Mosby
TE - 80 - Ian Thomas
TE - 82 - Tommy Tremble
LB - 52 - Isaiah Graham-Mobley
RB - 22 - Christian McCaffrey
RB - 30 - Chuba Hubbard
RB - 33 - D'Onta Foreman

DB - 38 - Myles Hartsfield
CB - 35 - Kalon Barnes
CB - 39 - Chris Westry
S - 34 - Sean Chandler

CB - 24 - CJ Henderson
S - 25 - Xavier Woods

WR - 2 - DJ Moore
WR - 88 - Terrace Marshall Jr.

WR - 2 - DJ Moore
CB - 24 - CJ Henderson

WR - 81 - C.J. Saunders

G - 73 - Michael Jordan


FB - 45 - Giovanni Ricci

T - 79 - Ikem Ekwonu


WR - 3 - Robbie Anderson







LB - 52 - Isaiah Graham-Mobley

CB - 39 - Chris Westry

S - 27 - Kenny Robinson

CB - 26 - Donte Jackson


S - 25 - Xavier Woods

CB - 36 - Madre Harper

S - 34 - Sean Chandler

DE - 53 - Brian Burns

LB - 49 - Frankie Luvu


LB - 48 - Khalan Tolson

CB - 24 - CJ Henderson

LB - 48 - Khalan Tolson

LB - 40 - Brandon Smith

LB - 55 - Cory Littleton

DE - 91 - Drew Jordan

CB - 24 - CJ Henderson

G - 63 - Austin Corbett

S - 21 - Jeremy Chinn

T - 79 - Ikem Ekwonu

CB - 35 - Kalon Barnes

WR - 2 - DJ Moore


DE - 96 - Austin Larkin

S - 21 - Jeremy Chinn

WR - 16 - Brandon Zylstra

WR - 2 - DJ Moore
CB - 24 - CJ Henderson