Sourced from the truly great Red Blob Games site
https://www.redblobgames.com/grids/parts/
https://www.redblobgames.com/grids/hexagons/
https://www.redblobgames.com/grids/hexagons/implementation.html
from https://www.redblobgames.com/grids/hexagons/codegen/output/lib.cpp
Cube coordinates use q, r, s.
Axial coordinates use q and r. S can be calculated as s = -q - r.
Points are x, y coordinates.