Hi @DaGameFace, You are correct about gcode not being sharable but wrong about slicers and CADCAM software complexity.
You cannot share gcode because it contains settings for a specific machine, material, and job configuration, but slicers are not simple, CADCAM need not be complex hobby CNC like Shapeoko or MPCNC, and both tools have many of the same internal functions.
The CNC community typically shares 2D DXF files, not 3D files and the process to convert either 3D or 2D to gcode involves the manual creation of 5 simple operations which for desktop CNC are pocket, profile, drill (if not pocket), engrave (includes V carving), and 3D contour. All the parameters (feed/plunge rate, depth of cut, entry angle, finishing passes, etc.) all should be in machine, material, and job presets as slicers have brilliantly abstracted into printer, filament, and print settings.
Automatically generating gcode for 3 Axis desktop machines is simpler than that for 3D printing. Slicers don't naively create layers and profiles, they do complex geometric analysis for the construction of support material and handle nonlinear flow rates that depend on the rate of material being extruded. After slicing a layer, machine operations for perimeters, infill, support layers, etc. are created which bear striking resemblances to profile and pocket CNC operations.
Meanwhile for CNC, bit selection, depth of cut, feedrate, spindle speed are all based on material and machine capabilities for a desired quality level, though parameters are not not organized for automatic configuration CADCAM. 3D part models surface normals identify vertical versus horizontal surfaces, while chamfers all have the same slope, typically 45 degrees. V carving also has the same slope and the vertices in the valley are the actual final 3D toolpath. Determining where profiles, pockets, and engrave operations with V cutters is straight forward for shapes designed to be cut on a 3 axis CNC mill. Roughing versus finishing, conventional versus climb milling, final cut depth are all for finish quality and can be configured based on bit availability and desired quality setting.
As a matter of fact, subtraction and additive are so similar you can use a slicer to generate gcode that can be machined on a 3 Axis mill once Z is negated.
Slicers and CADCAM are extremely similar under the hood. Both generate machine operations, slicers automatically, CADCAM manually, then those are converted to toolpaths, and toolpaths are converted to gcode. Both even have postprocessors for the controller (Mach3, Linux CNC, versus, Marlin, Sailfish)
Slicers could generate gcode for any machine that converts gcode to action to realize a part that can be represented as a 3D model, and an open source tool with the right abstractions and interfaces would be the perfect platform to enable all kinds of consumer and DIY machines : 3D printers, CNC Machines, vinyl cutters (drag knife), laser cutters, EDM machines, hot wire foam cutters, plasma cutters, waterjet, wire benders.
I suggest anyone interested read the article which covers all this in more depth.
Footnote: Kiri:moto (https://grid.space/kiri/) is the closest tool I've seen that has recognized and leveraged the same processes for multiple machines.