Trey Lance didn’t know what he was doing when he came in to replace Jimmy Garoppolo as the Niners’ quarterback for the second half of Sunday’s loss to the Seattle Seahawks.

The game was moving too fast, the offense was too complicated, his true debut proved to be too abrupt.

And yet he still gave the 49ers a better chance to win the game than Garoppolo.

Doesn’t that say it all?

Garoppolo’s calf injury could keep him out a few days or a few weeks — either way, I don’t want to see him start another game for the San Francisco 49ers.

It wasn’t because Lance was incredible Sunday. He was anything but that.

It was because outside of the team’s scripted opening drive, Garoppolo looked even worse than the rookie.

When a quarterback who cannot execute anything more than a dink-and-dunk offense can no longer dink or dunk, that’s a big problem. Garoppolo doesn’t (can’t?) throw the ball outside the numbers and rarely attempts a throw more than 15 yards downfield, yet he was spraying it all over the middle of the field on Sunday. There were air-mailed hospital balls, some Logan Webb sinkers and an egregious interception where he missed a safety breaking on a pass that was thrown straight ahead and seven yards past the line of scrimmage.

The book is out on Garoppolo and it’s easy to read.

Like Neil O’Donnell, Joe Flacco, or Matt Ryan before him, Garoppolo was once good enough. Whether it was the talent around him, the scheme, or the zeal of relative youth in a game of attrition, the Niners were able to win with Garoppolo for five meaningless games at the end of the 2017 season and the entirety of the 2019 season, nearly winning a Super Bowl.

But the combination of things that made Garoppolo viable in the past is no longer in place. The league has gotten wise, Kyle Shanahan has become predictable, and the party is over for No. 10.

Shanahan seems to be the last one on the dance floor, though. Garoppolo’s injury saved him from having to make the correct, but difficult (for him) decision to pull the veteran quarterback from the game at halftime — a move that would have been more than valid without the injury.

It’s all a bit strange: The 49ers’ coach had to know this moment was coming, after all. He traded away the Niners’ first-round picks the next two seasons to trade up in this spring’s draft and select Lance.

He didn’t trade all those picks for a multi-year backup quarterback, right?

When asked about Lance’s performance Sunday, Shanahan — ever snippier amid what has been an uninspiring last-place season to date — quipped “that’s why he’s a No. 2 quarterback.”

Well, Shanahan better get Lance up to speed to be the No. 1 quarterback in the coming days, because I don’t think the 49ers’ head coach quite understands that if Lance isn’t a franchise-level quarterback, he will be looking for head-coaching job No. 2 in short order.

And, by the way, decisions on young quarterbacks are made faster than ever now. Ask Sam Darnold, or Dwayne Haskins, or Tua Tagovailoa, or Drew Lock about that.

If Lance is lucky, he has until this time next year to prove he’s the real deal.

The good news is that the talent is there. Lance’s innate ability to scramble is a wildly valuable skill in the modern game. The arm talent is there, too (if he can get his feet set and avoid the Tim Tebow-like windup I saw a few times against Seattle).

I don’t want to exonerate Lance of the bad things he did against Seattle, but that was unquestionably a tough spot. If he is the starter for Sunday’s game against the Cardinals, Shanahan will need to have to change the offense — it seemed as if Lance was still running the Garoppolo playbook when he entered after halftime against the Seahawks. A pared-down passing game and an expanded running game would do Lance and the Niners wonders.

But not unlike Garoppolo’s first game with the Niners back in 2017, Lance provided some moments of hope — reasons for fans to get excited for what’s to come.

The more he plays, the more opportunities he’ll have to make game-breaking plays that Garoppolo simply cannot make.

And those big plays are the name of the game in the modern NFL.

Ten-play drives are archaic. Like the NBA before it, the NFL has become about pace and space — using the whole field with speedy skill players and a quarterback that can rip it 50 yards on a rope, off-balance.

Shanahan’s disciples around the NFL have figured it out. Shanahan himself knows it deep down, too.

It’s time to embrace the times. The good news is that Shanahan won’t have to worry about a possible increase in turnovers that comes with pushing the ball all over the field — Garoppolo already had the highest turnover-worthy play percentage of any non-rookie in the NFL this season, all while having the third-worst average distance of target.

He’s all risk, no reward.

I don’t care how green the kid is, he has to be able to beat that, right?

Now, Garoppolo expects he’ll be out a few weeks. Given his experience with injuries, I’ll take his word for it.

If that’s true, it means that Lance is going to be thrown into the fire. The Niners’ season is on the line in the coming weeks — what can he do to salvage it?

Scratch that. The better question is what can Shanahan do to maximize Lance’s chances of winning games?

I’m done pretending Garoppolo has another gear. All I see is leaking oil, a sputtering engine, and rapid deceleration. I’m hardly alone.

If Jimmy G starts another game, something has wrong for San Francisco and it’ll be nigh time for larger issues to be addressed.

But whether Shanahan knows it or not, his job is tied to how well he handles this quarterback transition.

If he helps the understudy look the part, the 49ers’ future will be bright, despite playing in the toughest division in football.

But if he fails — if Lance looks lost week after week, eventually leading to Garoppolo starting games again — the fallout for Shanahan will be unavoidable, if not immediate.