Each cell of the grid is either empty … or a crossing
The visualisation of the examples use a character grid but their crossings are not atomic (i.e. characters) but 2x2 sprites. In your last graph you shifted 2 of those (those nearest to the lower right corner) half a grid cell, so that is no longer a rectangular grid.
Using just 1 character for each atomic cell, an _
for a pass through and an X
for a crossing and
transliterating O. K. examples we saw in this thread in this way (the "wire" goes on the base line of the number):
1_ X _4
2 X X 2
3X X X0
Due to the half cell shifts in your graphs, none of those can be displayed in this way.
Update: On reviewing, also in this type of graph a crossing is an X in one cell, but also an empty cell above (mandatory, because otherwise would be an incorrect wiring). So the original constraint formulation ("each cell is one of 2 types") seems indeed not totally fitting.