Nothing is intact 100km each sides of the frontline... nothing is standing good at 50km...
That gray zone each side of the front is ruins upon ruins and its one of the reason that the front is not moving a lot.
Not a lot of hiding places remaining beside ceiling of collapsed homes in villages and some Soviet time sturdy concrete buildings giving some elevated positions in cities.
The front is moving more recently, mostly in favor of the Russians. As summer comes, the foliage grows and these provide cover. Not to mention, on the abandoned farms, the agricultural fields now are full of shrub and weed which can grow dense. I think this is one reason why the Russians want the civilian population driven out.
Group East is a notable case. The speed with which they take the villages means they capture them fairly intact. Huliailpole and Huliailpolskoye were captured quick and intact, enabling them to be used as drone and logistics centers. They also preempted counterattacks by bombing and shelling advanced positions.
Other Groups struggle due to destroyed cities, such as Kupyansk and Volchansk in the Kharkhiv region, and Stephnohersk in the Zaporhyzhia region. Ukraine's own counterattacks were stymied in said areas for the lack of cover. Worst they executed their Dnipro counteroffensive during Rasputitsa, a period where it's muddy, vehicles move too slow, no bad weather to hide, no foliage to hide. As you would expect, Russian drones and artillery had a banger time.
The quick movement of Group North in the Kharkhiv and Sumy regions lie in their forest to forest, settlement to settlement, hopping strategy. Think of MacArthur's island hopping strategy in the Pacific in WW2 but in a much smaller scale. Once forces are inserted in a forest, it's all over as you need boots to kick them out, and Ukraine is short in boots. Drones don't function well in the forests for obvious reasons. They timed their offensive just as the foliage bloomed, and roads are dry, making it easier for bikes, ATVs and pickups to outrun a drone.
The offensive could last until next year. By fall, even as the foliage sets in, bad foggy weather sets in. It's one reason why last year, the Russians had good advances in the October-November-December-January time period including the fall of Pokrvosk and Myrhnograd. At this point it's important you need troops inserted into the cities where they can take cover from the weather, letting it boil down to city fighting. Vehicles are being used like landing craft.
One of the advantages of foliage is that you can hide your ATVs and motorcycles, from which you can hop to one point or another. One reason why the armies on both sides are taking on a Mad Max character. Infiltration squads can be resupplied via drone.
The Russians have a time window from June to early February to make good of their advances before the next operational pause.
More notes. Taking a village isn't as important as taking the forest lines and high ground next to them. Often after a flag is raised, no one really stays in the village because they expect the drones to come in and staying is stupid. So troops fade towards the forest lines and fortifications along the high ground surrounding the settlement. If the other side pulls a counterattack to retake the village, they will penetrate but gets hit by drones and artillery in return. Your troops hidden in the forest lines will remop up the village.