SVG, AI, and PDF are better as “artistic formats”, and the way they represent curves is identical to how LightBurn stores them internally. We use cubic Bezier splines, which is pretty much standard for art.
DXF files, because they’re made to be for CAD, store curves in a form called NURBS (non-uniform rational b-spline). They’re very flexible, but the math is crazy, and there’s no way to directly convert from NURBS to Bezier splines, so most non-CAD software (us included) converts them to lots of points, and will occasionally then re-fit the result back to Beziers. You lose a little in the translation, but not much.
In this case the real problem is that DXFs are also stupid about storing what unit of measure they were made in, so if you save a file in mm, but someone else imports that as inches, you’ll end up with it 25x bigger than it should be. Our re-fit code works in “real” units, making sure that no part of the point-converted spline is farther than 0.05mm from the original, so when you import it 25x bigger than normal, you get about 25x more points than you expect.
SVG / AI / PDF don’t have these problems, because they work in a single unit (always in “points”, which is 72 units per inch), and they store splines in the way we do internally, so there’s no translation required.