Here is a possible solution. It won't work with page breaks, more work for that is needed...
\def\pdfliteral#1{\special{pdf:literal #1}}
\def\converttobp#1{\the\dimexpr .99626\dimexpr #1\relax\relax} % convert pt to bp
\newdimen\squiggleosc
\newdimen\squigglesep
\def\var#1#2{-\expandafter\\expanded{\converttobp{%
\squiggleosc #1 + \squiggleosc #2/3}}}
\def\ifneg#1{\ifodd #1 \empty\else -\fi \squigelamp}
\def\squigglewidth{1}
\def\gobble#1{}
\def\secondoftwo#1#2{#2}
\def\varloop#1#2%
{%
\ifnum#1<#2
\ifneg{#1} \var{#1}{1} \ifneg{#1} \var{#1}{2} 0 \var{#1}{3} c
\expandafter\secondoftwo
\fi
\gobble{\expandafter\varloop\expandafter{\the\numexpr#1+1}{#2}}%
}
\newcount\squigglecount
\def\squiggleline#1{\pdfliteral{q \squigglewidth w 1 j 1 J 0 0 m
\varloop{0}{\the\numexpr #1\relax} S Q}}
\def\divceil#1#2{%
\ifnum\numexpr #1 - #2*\numexpr #1/#2\relax>0
\the\numexpr #1/#2 +1\relax\else\the\numexpr #1/#2\relax\fi
}
\def\squigglebox{%
\raise .6\squiggleosc\hbox to0pt{\kern-\dimexpr
\csname beg-x-\the\squigglecount\endcsname sp
- \the\hoffset -1in +\squigglesep\relax
\hbox{\squiggleline{%
\numexpr\divceil{%
(\csname beg-y-\the\squigglecount\endcsname -
\csname end-y-\the\squigglecount\endcsname)}%
{\numexpr\dimexpr\squiggleosc\relax\relax}+1\relax
}}\hss}%
}
\newlinechar=`^^J
\newwrite\squigglefile
\immediate\openin\squigglefile=squig.tex
\ifeof\squigglefile
\immediate\closein\squigglefile
\else
\immediate\closein\squigglefile\input squig
\fi
\immediate\openout\squigglefile=squig.tex
\def\beginsquiggle{\global\advance\squigglecount by 1
\ifcsname beg-x-\the\squigglecount\endcsname
\ifvmode\noindent\leavevmode\pdfsavepos
\squigglebox\hbox to\parindent{}%
\else\pdfsavepos
\squigglebox
\fi\fi
\write\squigglefile{
\unexpanded{\expandafter\def\csname}
beg-x-\the\squigglecount\noexpand\endcsname
{\the\pdflastxpos}^^J
\unexpanded{\expandafter\def\csname}
beg-y-\the\squigglecount\noexpand\endcsname
{\the\pdflastypos}
}%
}
\def\endsquiggle{\pdfsavepos
\write\squigglefile{
\unexpanded{\expandafter\def\csname}
end-y-\the\squigglecount\noexpand\endcsname
{\the\pdflastypos}
}}
\squiggleosc=\baselineskip
\squigglesep=4pt
\def\squigelamp{2}
Here is the definitive guide to the use of TeX, written by the
system's creator, Donald E. Knuth. TeX represents the state of the art in
computer typesetting. It is particularly valuable where the document, article,
or book to be produced contains a lot of mathematics, and where the user
\special{color push rgb 0 0 1}is\special{ color pop }
\beginsquiggle
concerned about typographic quality. TeX software offers both writers and
publishers the opportunity to produce technical text of all kinds, in an
attractive form, with the speed and efficiency of a computer system. Novice and
expert users alike will gain from The TeXbook the level of information they
seek. Knuth warns newcomers away from the more difficult areas, while he entices
experienced users with new challenges. The novice need not learn much about
\special{color push rgb 0 0 1}TeX\special{ color pop }
\endsquiggle
to prepare a simple manuscript with it. But for the preparation of more complex
documents, The TeXbook contains all the detail required. Knuth's familiar wit,
and illustrations specially drawn by Duane Bibby, add a light touch to an
unusually readable software manual. The TeXbook is the first in a five-volume
series on Computers and Typesetting, all authored by Knuth.
\bye

You will need two compilations to get the correct result.
There are three variables you can configure:
\squiggleosc is a dimen which controls length of the wave. The above example is with \squiggleosc=\baselineskip
\squigglesep is a dimen which controls the horizontal space between the squiggle and the text.
\squigelamp is a number that controls the amplitude of the wave.
Here is the result with
\squiggleosc=.5\baselineskip
\squigglesep=8pt
\def\squigelamp{4}

\byeplease? Helps people help you if they can copy and paste, welcome and I hope you like it here! – JamesT Aug 30 '23 at 20:38