Maybe something more like this? (It's just a snippet, no example, but HC provides collisions for arbitrarily shaped polygons, so I made a long hexagon.)
Error: ./HardonCollider/polygon.lua:329: attempt to call method 'isConvex' (a nil value)
stack traceback:
./HardonCollider/polygon.lua:329: in function 'splitConvex'
./HardonCollider/shapes.lua:115: in function 'construct'
./HardonCollider/class.lua:93: in function <./HardonCollider/class.lua:90>
(tail call): ?
(tail call): ?
[string "HardonCollider/init.lua"]:129: in function <[string "HardonCollider/init.lua"]:128>
(tail call): ?
[string "main.lua"]:22: in function 'load'
[string "boot.lua"]:310: in function <[string "boot.lua"]:308>
[C]: in function 'xpcall'
Glad that works for you. You might want to keep the actual collision polygon hidden and use something a little more aesthetically pleasing as its representation.
The gray represents the actual grounding bound; the yellow represents the visual bounding ellipse.
I think I still would give some representation, though. Imagine someone plugs this into an RTS. The usual way to show that a particular unit is selected is through a circle like this. Perhaps if you don't want to make it visible for all cases you have a simple boolean trigger that tells the shape handler whether to draw these or not.