Hi Nicolai,
sorry if I'm late with the answer, but I didn't get notified for this post.
To answer your questions:
A particle has one root folder, one particles.json file but as many source files and subdirectories you want. The folders of all the particles will be virtually "merged" into one by the Scatter IoC container.
At the moment the "directory require" does not work as it would when using the normal "require()", at the end we should always keep in mind that Scatter is NOT the same as using require(), it uses its own resolving algorithm, the current way of loading module is only a convenience for intuitively loading dependencies using a known and familiar format (the one used by require()).
Please do not hesitate to ask other questions if you have any other doubt.