I am trying to put several diagrams together in a kind of a table. I think this is called "index print", photography people do that when they have to review many photographs at once. Anyway, this is the code:
main :: IO ()
main = mainWith @(Diagram B)
$ (tile . fmap renderOne) examples
renderOne :: AnyGraph -> Diagram B
renderOne (AnyGraph gr) = ...
tile :: [Diagram B] -> Diagram B
tile xs = let columns = (ceiling . sqrt . fromIntegral . length) xs
in (vcat . fmap hcat . List.chunksOf columns) xs
It does not work as I expect. But let us approach it gradually. First, here is a render of a single tile:
Now, let us hcat
four tiles together.
Add a second row: (See how scale invariant features thicken.)
And this is how it looks with 4 rows:
Out of hand!
It seems to me that scale invariant features, such as arrow heads, are scaled in proportion to the area of the picture. But in this case, I need to grow my diagram without re-scaling those features. How can I achieve that?