I suppose that depends on what you mean by flat and by 3D.
What we call the VLM in VSPAERO is perhaps not truly a VLM. By the most strict definition, one might consider a VLM to be a code that uses a regular structured mesh of horseshoe vortices trailing off in the +X direction. This is the formulation presented in many textbooks and implemented by many VLM codes.
This confusion does not arise with the Panel method mode of VSPAERO -- from the beginning, there have been countless variations of formulation for panel methods. Nobody would hear the words 'panel method' and would presume they knew all the details about how the code was set up.
Both VLM and Panel methods are linearized aerodynamic tools based on potential theory. So too is VSPAERO.
VSPAERO can currently run in two modes -- a mean surface approach (which we loosely call VLM) and a wetted surface approach (which we call the Panel method).
In the mean surface approach, lifting (wing and rotor / prop) surfaces are replaced by their mean camber surface. If the airfoils are cambered, this surface will have curvature. These surfaces exist in 3D space and will capture 3D effects of the flow. These surfaces will shed a wake and can support forces and moments. Fuselages, pods, and other non-lifting bodies are replaced with two mean surfaces arranged in a cruciform. These (often flat) surfaces also exist in 3D space and will capture 3D flow effects. They do not have wakes and can not support forces. However, they can support moments and can change the forces on nearby lifting surfaces.
In the wetted surface approach wakes are detected by a heuristic that searches for aft-facing sharp edges. Otherwise, all parts of the bodies are equivalent.
The mean surface approach will not capture any effects of thickness -- while the setted surface approach will capture effects of thickness.
Under the hood, the vast majority of the formulation is the same.
This situation will be changing over the next few releases of VSPAERO.
First, a new file format is being introduced that will communicate more information from OpenVSP to VSPAERO. This includes identification of the originating surfaces for each node -- and its location in parametric U,V coordinates on that surface. It will also include an explicit definition of the wake lines -- eliminating the need for the sometimes unreliable heuristic.
Much like today, this new format will initially work with both mean surface and wetted surface modes.
Eventually, it will also work with a hybrid approach where a mix of wetted and mean surfaces may be combined in one model. This will most often be set up with lifting surfaces represented by their mean camber surface and non-lifting surfaces represented by their wetted surface.
This hybrid approach will completely blur the current distinction of VLM vs. Panel in VSPAERO. Once these changes are complete, the user will have control over which components are represented with each approach.
The mean surface approach really does an amazing job for lifting surfaces -- it uses less than half the panels and entirely sidesteps all the problems that panel codes often have with wingtips and trailing edges. Its one weakness is that it does not adequately capture the thickness effect of fuselages and bodies. The hybrid mode should really offer the best of all worlds.
Hope this helps,
Rob