I suppose the main goal is to just have diffuse shading, and self shadings (external shade structures are not a real concern) both accounted for in the model whether it is based on a 2D or 3D model for both fixed tilt and HSAT. I am not sure how the 3D shade model is performing the calculations (e.g. ray tracing?), so I don't know if the approach outlined below would work.
In the SDK, depending on the shading model chosen, we are already choosing the racking configuration for self shading, and the module dimensions are already included as variables. The only additional variables that I could see being required are the number of racks in x-direction, and number of rows.
From there, a shading scene could simply be constructed and/or calculated based on the module dimensions, rack configuration, # of racks, tilt, azimuth, number of rows, and GCR.