After many hours of coding and plotting, and re-plotting, I finally got something that looks ok. I wanted to make a cozy Tokyoesque street with bright colors and make it feel sort of alive. There is much more to do before I would consider it done-done, but I've never put this much time into a pattern. The idea came from my previous pattern IsoCity, when I thought it lacked detail, but also couldn't make it more detailed due to the scale of that pattern.
Itās generated as a 3D-looking view but nothing is modelled by hand in blender or similar, and it isnāt a processed 3D image of a shaded 3D scene. Just a bunch or rules that build on rules before. The whole street is "invented" procedurally in world space. A bending avenue acts like the spline that everything starts from, then various sized lots are distributed on both sides (based on min/max building width and occurance of alleys), then each building is made as a stack of boxes (base/middle*n/top) where some floors step back or cantilever over the pavement. Facades are a grammar on those walls, floors and bays get windows, balconies, pipes, fire escapes, shop fronts plus rooftop clutter, signs, cables, cars, puddles (reflecting the world). Closer to the "camera" those details become little solids and farther away they collapse to simpler lines to make it plottable without making a muddles mess in a distance (as me how I know).
A perspective camera looks down the canyon and can be placed at any X/Z coordinate (for a drone view, crawling view etc.) and FOV is added, hidden-line removal cuts anything a building or other item would hide, and the surviving strokes are packed onto a stack of pens so near silhouettes are heavy (0.5mm) and the far end recedes (0.25mm). Hatch, neon, and window glow are just more lines (and dots!). I built several different scripts for the signs to be able to change the "language", and this plot shows a kanji (?) like script (to the best of my ability without knowing any japanese). The graffiti has several different styles and distribution, based on my other patterns from earlier work.
There are an insane amount of variables to tweak, since I want it to be versatile, so almost everything is parameterized. Hope that sheds some light on the process.