The San Francisco 49ers wrapped up mandatory minicamp on Thursday, and now begins the long wait for training camp. The team will return for training camp in a little less than six weeks, at which point position competitions and roster battles will heat up.

We’ll be breaking down each position group and their roster chances over the next month. In the meantime, it’s time for a 53-man roster projection. We are a long way from better understanding who fits where, but we have some early ideas.

There are some tough calls to make, and I imagine reasonable minds will disagree on several players. For example, the defensive line has seen a lot of talent added, and it’s hard to fit them all in. Right now, I have Quinton Dial and Tank Carradine on the outside looking in. Tank has been getting first team work, but Solomon Thomas could quickly replace him in the big end work. I find myself picking between Tank and Pita Taumoepenu. They don’t play the same role, but I think the 49ers will be more willing to carry the younger pass rusher.

At running back, I have the 49ers carrying four players, including two rookies. It’s possible the team tries to slip Breida to the practice squad, but I have a feeling he earns a spot. I don’t know how active he will be early in the season, but I think the 49ers won’t want to risk losing him on waivers.

The wide receiver position is an interesting one as well. In reality, four of the roster spots are all but locked up between Pierre Garçon, Marquise Goodwin, Jeremy Kerley, and Trent Taylor. Robinson is far from a lock, but I lean his way over Bruce Ellington for now. And I could see a UDFA working his way into the mix.

Fooch’s update: I messed up the numbers and was one short. Quinton Dial, come on down.

Fooch’s update No. 2: I forgot Aaron Lynch. I removed Pita Taumoepenu. Taumoepenu is competing for a similar role to Lynch, and it will take him showing a lot in training camp to get the job.

Here’s what I’ve got so far. What do you have?

QB (3): Brian Hoyer, Matt Barkley, C.J. Beathard

RB (4): Carlos Hyde, Tim Hightower, Joe Williams, Matt Breida

FB (1): Kyle Juszczyk

WR (6): Pierre Garçon, Marquise Goodwin, Jeremy Kerley, Aldrick Robinson, Trent Taylor, Kendrick Bourne

TE (3): George Kittle, Logan Paulsen, Garrett Celek

OT (3): Joe Staley, Trent Brown, Garry Gilliam

OG (3): Joshua Garnett, Zane Beadles, Brandon Fusco

C (2): Jeremy Zuttah, Daniel Kilgore

DT (5): DeForest Buckner, Earl Mitchell, D.J. Jones, Ronald Blair, Quinton Dial

DE (4): Arik Armstead, Solomon Thomas, Elvis Dumervil, Aaron Lynch

OLB (3): Ahmad Brooks, Eli Harold, Dekoda Watson

MLB (4): NaVorro Bowman, Malcolm Smith, Reuben Foster, Brock Coyle

CB (5): Rashard Robinson, Keith Reaser, Ahkello Witherspoon, Dontae Johnson, K’Waun Williams

S (4): Jimmie Ward, Eric Reid, Jaquiski Tartt, Lorenzo Jerome

K (1): Robbie Gould

P (1): Bradley Pinion

LS (1): Kyle Nelson