If you like more a DIY approach take a projector + pc as hardware and a projection mapping software like MadMapper ( https://madmapper.com/madmapper/features ), which also includes a 3D scanning via structured light, exactly like the Lighform devices are doing it. For even more complex scenarios, you could dig into creative coding envirornments like vvvv ( https://visualprogramming.net/ ) for example.
With projection mapping there are a couple of different techniques which you can use to achieve a good mapping.
The first is to simply take points on a mesh or grid and warp your video. You can corner pin first via a perspective corner pin tool and then warp the inner points linearly on a finer level. This works well for simple objects like walls or boxes etc.
The second is to use a 3D model of the physical object and then treat the projector as a camera. With this method you can calculate the projection by just dragging points in the projectors camera space onto the 3D world space and then calculate the perfect position of your "camera" from that. This second method is what people use when doing large scale building mappings or complex models.
Both methods are available in MadMapper. If you wanted go even more DIY and build your own tools and real-time visuals then I'd recommend Derivative's TouchDesigner as it has two tools (Kantan and Stoner) for the 2D approach and a tool called CamSchnappr for the 3D approach.