I looked at the NYT county results, and this is how Cruz won:
In rural counties (total voters less than 25k), Cruz won by a margin of 600k votes.
In urban counties and Hispanic heavy areas (so Dallas, Houston, Ft Worth, San Antonio, Austin, El Paso and RGV/Laredo), Beto won by a margin 984k votes. So Cruz needs to pick up 384k votes in the suburbs and other smaller cities in West/East’s Texas.
In the surburban/exurban areas surrounding DFW, Houston, and Central Texas, Cruz won by a margin 326k votes, meaning he only needed to win by 57k votes in remaining larger areas of West Texas and East Texas, which adds up quickly
In the Tyler/Longview/Lufkin area, Cruz won by a margin of 71k votes, Abilene/San Angelo 34k, Midland/Odessa 34k, Amarillo 28k, Lubbock 26k, Waco 17k, Golden Triangle 16k, Wichita Falls 14k, Texarkana 12k, Victoria 11k, and Bryan/College Station 8k. Beto won Corpus by 1k. The aggregate margin of victory here is 271k. Combine that with the other rural counties, and Cruz is up by 871k votes, which is more than enough given his victories in suburbs/exurbs.
For a Dem to win, I feel like they have to clear a 1.1 million + margin in the urban / Hispanic areas and continue to pick off the 326k margin in the surburbs/exurbs.