Commit Graph

5 Commits

Author SHA1 Message Date
adebaumann 3b1e244d55 Fix final-review findings: unit-label baseline, sqrt minor-tick math, dead code, edge cases
- Unit label was vertical-centered on a box derived from a baseline
  coordinate, shifting it 3.34mm too low and making the generated
  deliverables inconsistent with E440-Scale_template.svg. UNIT_Y is now
  used directly as the baseline; regenerated E440-Scale_paths.svg and
  E440-Scale_text.svg accordingly.
- sqrt scale's minor-tick angle formula double-applied the square-root
  mapping, badly misplacing minor ticks. Removed the special case so sqrt
  falls through to the already-correct generic value-interpolation branch.
  Corrected README's sqrt row (crowds toward the high end, not low).
- Removed dead code: unused _has_markup(), identity-transform wrapper and
  _UNIT_SCALE_X in _markup_unit_svg, unreachable max_val<=0 check,
  redundant math.isinf() in the minor-tick condition.
- Linear scale with min==max now raises ValueError like the other three
  mappings, instead of silently producing a degenerate dial.
- Form numeric parsing moved inside the try/except so bad input returns
  400 instead of crashing with 500.
- left_label/right_label now split on splitlines() to handle CRLF from
  browser textareas correctly.
- Formatting consistency: PIVOT_CIRCLE_R/R0 use :.5f like other constants;
  font_face indentation matches its sibling elements.
- LICENSE and CLAUDE.md: last M1730-Scale references and a doc inaccuracy
  about which labels are live text vs. outlined paths.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-29 00:48:54 +02:00
adebaumann fce7040b21 Rebrand infra and docs from M1730 to E440; bump version to 1.0 2026-07-29 00:11:04 +02:00
adebaumann a7c3968227 Add Traefik IngressRoute with stripPrefix middleware 2026-07-12 00:56:36 +02:00
adebaumann 5f09fb5c8c Fix hostname: works.baumann.gr not works.adebaumann.com
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-12 00:31:08 +02:00
adebaumann 9e7223a1f5 Add web SVG generator, container, and Kubernetes manifests
- Flask app (web/) generates M1730 scale SVGs from a form; embeds
  GOST typ A font as base64 so output is self-contained
- Dockerfile builds the app into git.baumann.gr/adebaumann/m1730-generator
- k8s/ deploys as a ClusterIP service for NPM to proxy at
  works.adebaumann.com/M1730-generator/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-12 00:29:55 +02:00