# Thermodynamics verification

For the current 2026-10-11 font, wave and solid-fill corrections, see the
[package visual review](verification-package-visual.md). The earlier results
below describe their dated validation run.


The later percentage-anchor memory fix is documented separately in
[Overleaf memory verification](verification-overleaf-memory.md).

## Current piston-cylinder addition - 2026-09-30

This addition is local and unreleased, after the accepted 1.7.0 upload. Its
versioned CTAN archive and receipt remain unchanged.

- All 16 regression suites pass, including the new piston fixture with 81
  PASS records: every integer in all 13 native families and both pic flow
  families, numeric positions, saved geometry, independent instances, direction
  reversal, hidden flows, rotation, scaling and shared loading.
- All 58 examples compile with the checkout forced through `TEXINPUTS`, producing
  156 pages. The updated 92-page manual compiles without overfull boxes/errors.
- All 30 thermodynamics invalid-input cases reject, including zero/negative
  cylinder dimensions, invalid/unit-bearing piston positions, invalid directions,
  and nonpositive flow lengths.
- Independent thermodynamics, fluids and piston loaders compile, as do both
  thermodynamics/fluids loading orders. Selective thermodynamics does not pull
  the fluids runtime; selective fluids does not pull thermodynamics.
- The isolated single-file Overleaf runtime compiles the piston gallery without
  installed or split physics sources. Both pages match the split runtime
  pixel-for-pixel at 90 dpi and contain only grayscale RGB pixels.
- Both piston gallery pages and affected manual pages were visually inspected;
  the reference line was moved away from a gas label, and the manual keeps the
  piston heading and apparatus together. Native stroke instrumentation includes
  the piston node and system pic, verifying inherited document line widths.
- Reference/bundle freshness passes for 122 features. The updated Overleaf ZIP
  passes integrity checks and contains 21 current files.

Evidence: `tmp/piston-review/` contains test/build logs, isolated and selective
compile recorders, all example outputs and visual renders. `thermodynamics-piston.pdf`
is the two-page public gallery. The guide includes geometry, anchor directions,
flow options, style hooks and thermodynamic assumptions.

## Submitted 1.7.0 snapshot

Validation against the final 1.7.0 checkout on 2026-09-30. CTAN submission and
publication status are recorded separately in `release-1.7.0.md`.

- All 15 regression suites pass. Generated reference and bundle freshness
  checks pass for 121 features.
- All 57 example documents compile (154 rendered pages) with the checkout
  forced through `TEXINPUTS`; each example has its own output directory.
- The isolated single-file runtime compiles eight module gallery documents
  and the six-page starter, using an empty user TeX tree. Recorders contain
  only the local bundled `tikzphysics.sty`, with no split physics libraries.
  Explicit meta/module/heattransfer alias requests also compile without
  loading system copies.
- All 17 module gallery pages are pixel-identical between split and isolated
  bundled runtimes at 72 dpi. Every sampled RGB pixel is monochrome.
- Every page of the thermodynamics, thermalphysics and elements galleries
  was visually inspected after the final runtime changes.
- Physical strokes inherit native TikZ line widths. A regression instrumenting
  actual PGF stroke calls verifies 1.25 pt document styling across mechanics,
  surfaces, ramps, optics, differential elements, fluids, thermodynamics and
  thermalphysics. No physical runtime imposes a custom stroke width; debug
  annotation leader lines retain their independent diagnostic styling.
- Overleaf archive integrity and the contents of all 20 files are checked.

Evidence: `tmp/release-1.7.0/` (compile recorders, raster comparisons, visual
renders, complete test output and independent loading probes).

The thermodynamics fixture contains 263 PASS records. It checks each integer
percentage, independent PV equations and Carnot state/branch coordinates,
compression, projections, hidden axes, circular ports, transformations,
instance isolation, pic flow directions and reference aliases. All 21
invalid-input cases reject before unsafe powers or invalid geometry.

The library provides 13 native nodes, two energy-flow pics and the heat-pump
pic alias. `thermodynamics.pdf` and `thermodynamics-scenes.pdf` contain six
visually reviewed pages. Fixed circular engine borders and diagonal anchors,
added shared PV frames, state projections, pic flow percentages and stable
large-parameter rejection. Axes and author-supplied labels remain adjustable.

PGF uses fixed precision and sampled curves. The library does not integrate
heat/work, compute entropy or solve real-gas equations.
