# Elements and fluid mechanics verification

Release verification for 1.4.0 refreshed on 2026-09-25.

## Automated checks

- `l3build check`: all six suites pass (`api`, `elements`, `elements-solids`, `fluids`, `geometry`, `reference`).
- `python3 scripts/verify_fluids.py`: all 43 examples compile; all 16 invalid element/fluid geometry cases produce the expected errors; five representative examples compile with the isolated single-file package.
- `python3 scripts/generate_reference.py --check`: all 70 feature references are current.
- `python3 scripts/build_overleaf_bundle.py --check`: the single-file package matches source modules.
- The extracted final Overleaf ZIP compiles its starter document with only the bundled `.sty` runtime and the standard TeX installation.
- LuaLaTeX with `fontspec`, `unicode-math`, TeX Gyre Pagella, and Pagella Math compiles the font/element/fluid smoke diagram successfully; its rendering was inspected.
- The manual compiles to 62 pages with no overfull boxes or unresolved references in the final log. The 13-page surface-anchor gallery renders all four flat surfaces, all three platform forms, and both sharp upward corners.

Regressions cover physical dimensions, surface levels, parabola geometry, contact-surface positions, transformed coordinates, concise and collision-safe aliases, independent instances, native node anchors and minimum sizes, individual element label fonts, picture fonts, fill/pattern precedence, and pattern color. The fluid suite also checks the explicit `physics fluid tank diagram` alias.

## Visual review

Rendered and inspected the circular and solid element galleries, three font sizes and individual node overrides, all eight fluid nodes, all fourteen diagram assemblies, all thirteen reference families in composed scenes, and native fill/pattern variants. Reviewed the complete manual in page contact sheets and inspected changed chapters and reference tables in detail.

Corrections made during review include angular-label placement and angle arcs,
inherited label sizes and arrow tips, node-local dimension-label capture,
duplicate gas labels, colliding force labels, fluid fill behavior, capillary
curve alignment, free-surface boundaries for patterns, and node-local fill
handlers. The element pass also corrected the cone slice's lower projection
and semantic centre, added finite-slice boundary validation, and separated
dashed rear projected edges from solid front edges. The refreshed consistency
pass changed examples and manual snippets to explicit `... diagram` pic names,
retained the shorter compatibility aliases, added explicit collision-safe
diagram aliases, and synchronized the README, extended guide, module
inventory, reference anchor lists, and package description.

## Outputs

- `output/overleaf/tikzphysics.sty`: single runtime file.
- `output/overleaf/tikzphysics-fluids-overleaf.zip`: runtime, starter `main.tex`, and README.
- `output/pdf/tikzphysics-manual.pdf`: updated manual.
- `output/pdf/fluid-mechanics-nodes.pdf`: native node gallery.
- `output/pdf/fluid-patterns.pdf`: user-controlled patterns, solid/no fill, and native positioning.
- `output/pdf/fluid-mechanics-gallery.pdf`: complete assembly gallery.
- `output/pdf/fluid-mechanics-reference-scenes.pdf`: composed reference scenes.
- `output/pdf/elements-fonts.pdf`, `elements-circular-differentials.pdf`, and `elements-solid-geometries.pdf`: element review artifacts.

Logs and intermediate renders are retained in `tmp/fluid-qa`, `tmp/fluid-verification`, and `tmp/visual-audit-2`. The source baseline is in `tmp/fluid-task-baseline`; this working directory has no Git metadata.

## Scope

The module is an editable schematic drawing API, not an equilibrium or CFD solver. The documented levels, curvature, and dimensions are user inputs. Pics provide complete teaching assemblies; nodes expose individual objects with native anchors and styling. Automatic node connections use a nominal frame; semantic surface/inlet/outlet anchors provide specific attachment points.
