When you select a character, you are shown a range of potential movement, with each AP threshold drawn with blue or orange lines at each perimeter. Having selected a character, you can then mouse over a potential location and be shown what enemies, if any, your soldier would have a line of sight on from that location, illustrated by gold lines connecting to the visible enemies. Not bad, but there isn’t any indication of the quality of the available shots. The LOS could be an arthron shield peeking through a small gap between two rock formations. Depending on LOS blocking obstacles, the potential shot could be useless or perfect or anything in between. You could look at the terrain and try to “eyeball” it but the only way of really knowing is to commit.
PP is more flexible with regard to movement than games of the same type: movement is generally conserved rather than just rounded up to the next AP. However, the notion of “if you don’t like your shot then move” can be situational. For example, you might find yourself in a pitched battle and your soldier needs to use all of their AP to execute a potential course of action. You have to choose a single plan out of two plans, either of which requires all of the soldiers AP. But how can you assess either without knowing what the shots look like?
IMO, the issue of shot quality is the biggest issue with combat right now. The solution is to give players the tools to assess potential shots. One possible solution would be to color code the connecting LOS line, effectively giving each shot a grade based on reticle overlap. This would be OK but I think an even better solution would be a new feature that would display an actual aim mode preview from any potential tile (based on whichever soldier is currently selected). This sounds very demanding at first glance, but a lot of the code has already been written, the game would just make a limited copy of an object that already exists: the currently selected soldier. This “virtual soldier” could only look around in aim mode, nothing else, and would cease to exist upon exiting aim.