- Derive As from the provided longitudinal bars instead of taking it as
input; drop the redundant As_bars output and update tests.
- Draw a fixed schematic 1 in cover and pin the bottom bars to the
stirrup's bottom leg so the figure no longer depends on cover or d.
- Fixed stirrup stroke with a rounded 3 pt corner radius.
- Right-align the figure, constrain its caption to the image width, and
shorten the caption to "Beam cross-section".
- Document input.yaml fields.
Add reinforcement inputs (cover, stirrup size/spacing, longitudinal and
top bar size/count) and emit the derived bar geometry from calc.py.
beam_section.py renders a native Typst drawing of the section to
assets/beam-section.typ, which concrete-beam.typ imports as a figure.
Effective depth d remains authoritative for the tension-steel position.
Convert input parsing to Pint (matching the other calculations), carry
units in the YAML values, and drop unit suffixes from input keys, local
variables, results keys, the Typst sheet, and tests.