Sounds like a difficult task to start from scratch, when the problem has been addressed with g-code controllers already.
For a dedicated machine making simple movements, you are probably just as far ahead to create tool radius compensation offsets in cadcam and make use of the coordinates derived from the offset path.
What kind of controller software are you using? Do you intend to run a coordinate transformation equation on each motion command as it moves along? Such an equation would have to include tool diameter, direction of offset (left or right of command position), and then include a series of IF statements to process the coordinates, depending on whether an arc or a line is encountered. Some profiles simply cannot be offset correctly within certain ranges of profile radii and tool diameters. How will you catch this problem?
Perhaps it is possible to write a coordinate transformation subroutine that is held within your controller memory, to process every motion command via a jump to the subroutine. Is this what you intend to do? Is your controller software running fast enough to do this?