I think translating a lavaan model into a tikz diagram cannot work unless for simple diagrams because its almost impossible to generate nice code that can be modified. Probably better is a library of shapes and painful practice with tikz. Here's another go at the variance self-loop looking a bit better.
\documentclass[border=1cm]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric} % For regular polygon
\usetikzlibrary{calc}
\newcommand{\tikzAngleOfLine}{\tikz@AngleOfLine}
\def\tikz@AngleOfLine(#1)(#2)#3{%
\pgfmathanglebetweenpoints{%
\pgfpointanchor{#1}{center}}{%
\pgfpointanchor{#2}{center}}
\pgfmathsetmacro{#3}{\pgfmathresult}%
}
% Add a variance self-loop to a node
% #1 is the node
% #2 is the angle of the centre of the arc from the centre of the node
\newcommand{\variance}[2] {
\pgfmathsetmacro{\thetaA}{#2} ;
\pgfmathsetmacro{\thetaB}{\thetaA+15} ;
\pgfmathsetmacro{\thetaC}{\thetaA-15} ;
\coordinate (D) at (#1.\thetaB) ;
\coordinate (E) at (#1.\thetaC) ;
\coordinate (F) at ([xshift=6mm,rotate around={\thetaA:(#1.center)}]#1.center) ; % Centre of arc (xshift should depend on size of node)
\tikzAngleOfLine(F)(D){\AngleStart}
\tikzAngleOfLine(F)(E){\AngleEnd}
\draw[latex-latex] (D)
let
\p1 = ($(D)-(F)$),
\n1 = {veclen(\x1,\y1)} % Radius of arc
in
arc [start angle=\AngleStart, end angle=\AngleEnd-360, radius=\n1] ; % If both angles are in 4th quadrant the arc is short. Then you need to make the start angle be negative, (angle-360).
}
\begin{document}
\begin{tikzpicture}[
render/.style = {draw=black!80, fill=black!5, inner sep=0, font=\scriptsize\sffamily\bfseries},
lv/.style = {circle, render, minimum size=8mm}, % Latent variable
ov/.style = {rectangle, render, minimum size=7mm}, % Observed variable
lm/.style = {regular polygon, regular polygon sides=3, shape border rotate=0, render, minimum height=1cm} % Latent mean
]
\node (y1) at (1,0) [ov] {} ;
\node (f1) at (3,0) [lv] {} ;
\node (lm1) at (5,0) [lm] {} ;
\variance{y1}{90} ;
\variance{f1}{135} ;
\variance{lm1}{270} ;
\end{tikzpicture}
\end{document}