\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{fourier}
\usepackage[a4paper,margin=16mm]{geometry}
\usepackage{tikzphysics}
\pagestyle{empty}
\begin{document}
\section*{Thermodynamic labels inherit the picture font}
\begin{center}
\begin{tikzpicture}
 \foreach \xx/\size/\caption in {0/\footnotesize/Small,5/\normalsize/Normal,10/\Large/Large}{
  \pic (E\xx) at (\xx,0) {heat engine diagram={font=\size}};
  \node[below=5mm] at (E\xx-cold.south) {\caption};
 }
\end{tikzpicture}
\end{center}
Reservoir, device, heat and work labels follow the same surrounding font.
Set \texttt{every thermo label/.append style=\{font=...\}} to choose a
different annotation font.
\bigskip
\begin{center}
\begin{tikzpicture}[font=\Large]
 \pic (P) {piston cylinder diagram};
 \pic (R) at (6,0) {piston cylinder diagram={
  every physics thermo label/.append style={font=\small},
  every physics thermo flow/.append style={dashed,>={Stealth[length=.7em]}}}};
 \node[below=6mm,font=\small] at (P-cylinder.south) {Inherited large labels};
 \node[below=6mm,font=\small] at (R-cylinder.south) {Explicit annotation and arrow overrides};
\end{tikzpicture}
\end{center}
The \texttt{every physics thermo label} and \texttt{every physics thermo flow}
hooks provide collision-safe defaults for the corresponding short hooks.

\clearpage
\section*{Wave endpoints follow the drawn displacement}
\begin{center}
\begin{tikzpicture}[font=\small,>=latex]
 \node[transverse wave,wave length=5cm,wave amplitude=.7cm,
  wave cycles=1.25,wave phase=90] (A) {};
 \node[transverse wave,wave length=4cm,wave amplitude=.7cm,
  wave cycles=.5,wave phase=90,anchor=start] (B) at (A.end) {};
 \draw[densely dashed] (A.axis-0)--(A.axis-100);
 \draw[densely dashed] (B.axis-0)--(B.axis-100);
 \foreach \name in {A,B}{
  \foreach \side in {start,end}{\fill (\name.\side) circle(1.5pt);}
 }
 \node[above=3mm] at (A.start) {start};
 \node[above=8mm] at (A.end) {shared end / start};
 \node[below=3mm] at (B.end) {end};
 \node[below=14mm] at (A.axis-50) {1.25 cycles, phase $90^\circ$};
 \node[below=14mm] at (B.axis-50) {0.5 cycles, phase $90^\circ$};
\end{tikzpicture}
\end{center}
Black dots locate the actual curve endpoints. Dashed lines locate each wave's
own centreline. Joining \texttt{B.start} to \texttt{A.end} keeps the
displacement continuous even when the endpoints are away from those axes.
\bigskip
\begin{center}
\begin{tikzpicture}[font=\small,>=latex]
 \node[transverse wave,wave length=5cm,wave amplitude=.6cm,
  wave cycles=1.25,wave phase=30,rotate=25] (W) {};
 \draw[densely dashed] (W.axis-0)--(W.axis-100);
 \fill (W.start) circle(1.5pt);
 \fill (W.end) circle(1.5pt);
 \node[above left=2mm] at (W.start) {start};
 \node[above right=2mm] at (W.end) {end};
\end{tikzpicture}
\end{center}
The attachment points retain their position under rotation and scaling.
\texttt{axis-0..100} remains a straight reference; \texttt{curve-0..100}
follows the sampled displacement snapshot.

\clearpage
\section*{Native fills and patterns on projected solids}
\begin{center}
\begin{tikzpicture}[font=\small]
 \foreach \style/\xx in {solid cylinder/0,solid frustum/5,solid cone/10}{
  \node[\style,fill=gray!20] (N) at (\xx,0) {};
  \node[below=6mm] at (N.south) {\style};
 }
 \node[cylindrical shell,pattern=north east lines] (C) at (0,-6) {};
 \node[conical shell,pattern=dots] (K) at (5,-6) {};
 \node[hemisphere,fill=gray!20] (H) at (10,-6) {};
 \node[below=6mm] at (C.south) {cylindrical shell};
 \node[below=6mm] at (K.south) {conical shell};
 \node[below=6mm] at (H.south) {hemisphere};
 \node[solid cylinder,solid cylinder radius=.6cm,solid cylinder height=1.4cm,
  dashed,line width=1pt,fill=gray!20] (D) at (0,-10.5) {};
 \node[cylindrical shell,cylindrical shell radius=.6cm,cylindrical shell height=1.4cm,
  cylindrical shell thickness=.15cm,draw=none,fill=gray!20] (F) at (5,-10.5) {};
 \node[solid frustum,solid frustum radius=.6cm,solid frustum height=1.4cm,
  draw=none,pattern=north east lines,pattern color=gray] (G) at (10,-10.5) {};
 \node[below=6mm] at (D.south) {Native dashed strokes};
 \node[below=6mm] at (F.south) {Fill with \texttt{draw=none}};
 \node[below=6mm] at (G.south) {Pattern with \texttt{draw=none}};
\end{tikzpicture}
\end{center}
Use ordinary \texttt{fill}, \texttt{pattern}, \texttt{pattern color},
\texttt{draw}, \texttt{dashed} and \texttt{line width} keys on native nodes.
Projected nodes retain their wireframe rim guides; the shell's upper opening
is excluded from the material fill. Differential construction pics provide
separately styled hidden edges and highlighted slices.
\end{document}
