Add soft paths to the frontend layer
The idea is to be able to save, use, and most importantly compose soft paths. Right now, we can do things like.
\path[save path=\pathA] (0,0) -- (1,1);
\path[save path=\pathB] (1,0) -- (0,1);
\draw[use path=\pathA];
\draw[use path=\pathB];
However, what I have in mind is something more like MetaPost:
\path pathA = (0,0) -- (1,1);
\path pathB = (0,0) -- (1,1);
\draw pathA -- pathB;
No idea, whether the parser will be able to do this.
The \againpath macro seems to do at least parts of this, i.e. you may combine two paths.
\documentclass[tikz,border=3.14mm]{standalone}
\makeatletter
\tikzset{again path/.code={%
\againpath{#1}}
}
\makeatother
\begin{document}
\begin{tikzpicture}
\path[save path=\pathA] (0,0) -- (1,1);
\path[save path=\pathB] (1,0) -- (0,1);
\draw[again path/.list={\pathA,\pathB}];
\end{tikzpicture}
\end{document}
One can then combine paths.
\documentclass[tikz,border=3.14mm]{standalone}
\makeatletter
\tikzset{again path/.style={%
/utils/exec=\againpath{#1}%
},
last point of path/.style={%
/utils/exec=\pgfprocesspathextractpoints{#1}%
\pgfprocesspathextractpoints{#1}%
\pgfpointlastonpath,%
insert path={(\the\pgf@x,\the\pgf@y)}%
},
to first point of path/.style={%
/utils/exec=\pgfprocesspathextractpoints{#1}%
\pgfprocesspathextractpoints{#1}%
\pgfpointfirstonpath,%
insert path={--(\the\pgf@x,\the\pgf@y)}%
}
}
\tikzset{combine paths/.style 2 args={again path=#1,
last point of path=#1,
to first point of path=#2,again path=#2}}
\makeatother
\begin{document}
\begin{tikzpicture}
\path[save path=\pathA] (0,0) -- (1,1);
\path[save path=\pathB] (1,0) -- (0,1);
\draw[combine paths={\pathA}{\pathB}];
\end{tikzpicture}
\end{document}

Now it is more a matter of using /.style args in the way that you want.
Are you aware of my spath3 library? It provides extra functionality for manipulating soft paths. It was designed as not quite intended for frontend use, but I've started adding keys to expose the underlying code. It is used in the knots and calligraphy libraries.
I have now uploaded a new version of my spath3 library to CTAN which implements a slew of routines for manipulating soft paths via TikZ keys.
I was not aware of the use path, save path, and \againpath keys and macro so I went for a naming system rather than a macro one. By default, it saves paths in a manner compatible with the intersections library -- this is because one of my main use-cases is to be able to split a path at places where it self-intersects or intersects with another path for drawing knots and links.
There are plenty of examples at https://github.com/loopspace/spath3
I'm happy to take suggestions. Looking at the example above then you are combining paths with an intervening lineto which I don't currently have but that would be easy to implement. With the current syntax, the above example can be achieved via:
\documentclass[tikz,border=3.14mm]{standalone}
%\url{https://github.com/pgf-tikz/pgf/issues/740}
\usetikzlibrary{spath3}
\begin{document}
\begin{tikzpicture}
\path[spath/save=pathA] (0,0) -- (1,1);
\path[spath/save=pathB] (1,0) -- (0,1);
\draw[spath/restore=pathA] -- (1,0) [spath/append=pathB];
\end{tikzpicture}
\end{document}