I tried Canva to reproduce a pen and ink sketch I made but so far I have a found it lacking. It is slow to use and illogical. Point and click and drag sucks relative to being able to enter the parameters that define a geometric object in a simple command line interface (if such an interface exists).
For example in Cnva when you draw lines by hand they do not automatically snap to 90 degree corners. You have to fight with the mouse to make a 90 degree corner. How many buildings have 78 or 89 degree corners between interior walls as planned! It would be just as well to use a MS paint like program at this point.
I would like a program that has a scale. That you can draw straight perpendicular lines in. There would be two primary classes of line. Horizontal and vertical. Imagine that. Each line would have a label like AA. If line AA was near to line BB you would have the the option to make a corner. There would be stock symbols for windows, doors, electrical and plumbing fixtures. Positions of everything would be in feet or meters (selectable according to an origin) or relative to other elements. The origin would be at the lower left corner of the canvas. The output would be SVG or convertible to PDF.
For example under the programmatic description of a line it could look like AA:(0,0,24,v) for a line that starts at the origin, is vertical, and extends 24 feet from the origin.
Then if you wanted to draw another line relative to AA you could have BB:(r,d[AA],24,h). The 'r' parameter signals to the program that the position of line BB is relative to the distal end of line AA, it extends 24 feet, and is horizontal. If I wanted BB to start at the origin I could write BB:(r,p[AA],24,h), i.e. starting from the proximal end or AA. Proximal is defined as lower, left most end of an element, while distal is the upper, right most end. Alternatively the command BB:(0,0,24,h) draws the same line.
https://brlcad.org/
(what you describe sounds a bit like my limited understanding of its UI)
As noted, the usual suspects are LibreCAD, FreeCAD, or if you want to go completely programmatic, OpenSCAD. For the latter, if you already know Python, you might want to consider (Open)PythonSCAD:
https://pythonscad.org/
If you want a graphical front-end using nodes and wires (to reduce syntax errors) there is:
https://github.com/derkork/openscad-graph-editor
You might want to consider a traditional vector drawing program such as Inkscape or Cenon.
Early on in Microsoft's Windows for Pen Computing and Tablet PC efforts there were some very cool programs exactly suited to this sort of thing such as Saltire Sketchright:
https://www.nonvi.com/sm/sr.html
I'd love to see the features from Sketchright in a tool such as:
https://rnote.flxzt.net/
or Inkscape.
If you know python then build123d(/cadquery) are also options:
https://github.com/gumyr/build123d
https://extensions.blender.org/add-ons/bonsai/
FreeCAD can also do 2D sketches and you can snap to angles, enter target lengths and skript it in Python. But even though it is older than Bonsai, it is harder to use (imho) and less stable (save often).
And if it is strictly about relatively simple floorplans, try sweethome3d. Slowish because it's java, and cannot do a whole lot, but enough for quick sketches.
I also like CadZinho (https://github.com/zecruel/CadZinho) but it's missing some features (chamfers and fillets) and it's not that easy to draw precisely sized lines in it.
https://old.reddit.com/r/shapeoko/wiki/cad
(which badly needs to be cleaned up and re-formatted)
Your idea about drawing lines is already supported in build123d:
Further you could use logic based on some ruleset to place stock symbols on these "construction lines". It is also very easy to create custom objects that would conform to your exact syntax above.https://www.cadsketcher.com/
That said, if you want 3D CAD, the simplest option is probably:
https://dune3d.org/
Drafting by hand is the simplest thing that might work; is compatible with Linux, Mac, and Windows and you can start work today. Good luck.