Skip to content

v1 wrap-up: the registry as data, every benchmark rerun - #144

Merged
Chimi6 merged 2 commits into
mainfrom
v1-wrapup
Oct 21, 2026
Merged

Chimi6 merged 2 commits into
mainfrom
v1-wrapup

Conversation

@Chimi6

@Chimi6 Chimi6 commented Oct 21, 2026

Copy link
Copy Markdown
Owner

The v1 wrap-up (ROADMAP item 9), ahead of 1.0.0.

  • The registry is data. Each converter has a const fn entry(), and the registry is a static table of entries, so planning runs no converter's code. The 195 image pairs are built only when an image format is an end (registry::converters_for).
    • Starting memory is 1.95 MB (was 2.24).
    • A 40 MB ROM converts in 2.42 MB (was 2.66).
    • Startup is 0.15 ms faster.
    • Binary and wasm sizes move by a few KB.
  • Benchmarks. Every pair was rerun and recorded on the M1 Max, which was under load. binary.md gets a 1.0.0 block.
    • Lines failing for the first time are listed under STATE Tech Debt.
    • An alternated A/B against the previous commit shows the registry change caused none of the failures it covered.
    • The Pages goals move from Blockers to Tech Debt.
  • Bench harness fixes for macOS.
    • csv-json uses gtime.
    • ico-png's awk calls are helper functions, since bash 3.2 misread them.
    • jpeg-pdf now refuses to run without bash 5.
  • Docs.
    • ROADMAP: the audio/video plan (native codecs, ffmpeg as the external fallback).
    • STATE: audited and updated.
    • CONTRIBUTING: the entry-table steps.

Each converter's name, formats, fidelity, and tier move from trait
methods into a const fn entry() evaluated at compile time, so planning
reads a static table and runs no converter's code. The 195 generated
image pairs are built only when an image format is at one end (or the
waypoint); a test checks every plan between formats is unchanged
without them. sublime check z64 v64: 2.24 -> 1.95 MB; a 40 MB z64 ->
v64 conversion: 2.66 -> 2.42 MB.
ROADMAP item 9 done and the audio/video cycle planned. Each pair
document gains a 2026-10-21 block on the M1 Max (under load), and
binary.md a 1.0.0 block. Lines failing for the first time and the
Pages goals move to STATE Tech Debt. The bench harness runs on this
Mac again: gtime in csv-json, awk helpers in ico-png, a bash 5 guard
in jpeg-pdf, and the pdf-text pair on the registry's entry table.
@Chimi6
Chimi6 merged commit a30391b into main Oct 21, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant