Been experimenting with modding a few body things, and so ended up with a bunch of safe open surface forts with 29x29 zones to save a bit of time on stuff.
And the thing is, most of my meeting halls have been really small for a while now to try and force interaction, and the thing is, it does force interaction. Dorfs socialising in small, crowded meeting areas, will spend their time stuck talking to whoever they're next to, which is pretty random, where dorfs in huge open meeting areas will regularly sort themselves into friend groups and choose mutually agreeable activities to take part in, often including happy-inducing dances if you have roughly an 11x11 dance floor (which easily maxes out with a dozen dorfs and often fails with a score or more because of over-crowding).
I noticed they very regularly sort themselves into like-minded groups for a common activity, if there's space for them to do so. Each group tries to walk to an open space in the meeting area big enough for them to be together in, and if there's not enough space, they just stall out and chat to the dorf next to them instead. Dances regularly kicked off if that open space was big enough to be a dance floor for all of them, so multiple large dance floors in the same hall triggered a lot of dancing.
Then I noticed they do the same when praying. Regularly switch to a new group for a prayer together. But, only if they were trying to pray to the same god. And it turned out, each dorf prays to his gods in the order he prefers them in. The least preferred god is always last, and after every interruption they start at the top of the list again, sleep, food, drink, hauling a mug one square to a bag, dropping a dead rat the cat bought them, all of it.
And it's the same in libraries with scholars, training in the barracks, and all sorts, if there's space, and time to get to it, the dorfs in the zone all regularly sort themselves into little clusters and share an activity that they all like, and if there's not space they often get stuck arguing at best and often not really satisfying their own needs. Like, some dorf wants to argue, let him find another one that wants to argue, make them both happy instead of one being sad after.
I'm wondering if this is why people have struggled to get large training groups in barracks and all sorts, the need for enough open space for that group to head toward in the right zone.
It's most obvious with Children, thinking back. They find some spot that's free of other dorfs near the toys, and all end up standing around in a little group playing with those toys, but that's how all of it works! It's just most other groups are being interrupted by a single hauling job, or trying to find a common space in a zone that is over-crowded already, so it often fails. Kids can go anywhere and have no other jobs, so they're almost always in that group doing what they like.