It's not complete, but I just published the demo for this!
Work will continue on it after a little bit of a break.