Hi Rstudio Community!
I'm developing a package, and I'm wondering whether to split it into two separate packages where one depends on the other.
I am a US graduate student researcher of human behavior (in particular, behavior in virtual and augmented reality). Due to a hold on any human subjects studies for health reasons, I'm developing an R package covering much of the 3D data manipulation and plotting we do in the lab. For example, given head position and orientation, we want to measure the angle between the direction someone is looking and where some salient object is.
The first part of the package (mostly finished) is 3D vector and orientation classes, with corresponding methods like dot product, cross product, all the ways you would want to specify a rotation, etc etc. This is implemented with the vctrs library for creating R vector types.
The second part of this package (still under development) is a lot of opinionated plotting functions built on top of ggplot2 and even gganimate, allowing the user to specify something like "forward is positive Z, and up is positive Y, and the coordinate system is left-handed" and then have a function answer the question "what does this dataset look like from the top? or the left? or the front?"
I can see the first part - the 3D columns package - being useful to people on its own, even without plotting functions. So that's what gives me pause
Broadly, what should a package do? Should it be skewed towards the smallest reasonable lump of problem-solving, or should it skew bigger?
In particular, should these two themes be in one package, should they be separate, or should this question be addressed later because I'm two weeks into development and no one else has used this code yet?