Ants Projects Hub
← frameledger

Changelog

frameledger

Every release, newest first — 2 in total.

v0.1.0

0.1.0 — One run, read and checked.

Theme: One run, read and checked.

Added

  • The release archive, frameledger-v0.1.0.zip: frameledger.pyz, include/frameledger.h and LICENSE. SHA256 84a9254101421b223ca1429f889310ef92d1d4e4da433f19ce0d4225c89b9f5a. A release candidate's archive, frameledger-v0.1.0-rc.N.zip, is the same bytes under another name. python3 -I scripts/build_release.py OUTDIR v0.1.0, run on the tag, rebuilds it; the release workflow does so under Python 3.10.22.
  • The run-file format, schema 1: a header line, an optional static line, a column line, CSV rows, and a close line ending a finished run, as docs/specs/FLED-0001-run-file-format.md § 4 defines them. This is the first schema. Every later change to it will be named here (FLED-0001).
  • check FILE… says whether each run file meets the format, with exit codes 0, 1 and 3 and a --json result (FLED-0002).
  • --selftest and --version (FLED-0002).
  • report FILE says where one run's frame time went: passes ranked by time spent per segment kind, CPU-bound and GPU-bound share (or that it does not apply), the worst frames with their costliest pass, and the static line. Frames with no GPU result are counted, never taken as zero (FLED-0003).
  • floor FILE --fps N says whether a run held a frame rate in every one-second window after the warm-up, and whether any single frame took longer than a budget. Exit 0 pass, 1 fail, 2 inconclusive (dropped rows, an unfinished run, a gap in the timeline, or no full window), 3 error (FLED-0004).
  • report and floor warn when a run's numbers should not be trusted: a Debug build, a software renderer, a busy CPU or GPU before the run, segments timed before they settled, fewer than 100 measured frames, or a camera cut in the middle of a segment. A warning never changes the verdict or the exit code. New optional header field settled_frames (FLED-0005).
  • include/frameledger.h, an optional writer an engine can include instead of writing run files itself. One header, usable from C and C++. It never allocates and writes no files: the engine hands it a buffer and writes the bytes out when it chooses. A full buffer drops rows and counts them in the file. Numbers come out the same whatever the machine's language (FLED-0006).

v0.1.0-rc.1Pre-release

0.1.0-rc.1 — One run, read and checked.

Theme: One run, read and checked.

Added

  • The release archive, frameledger-v0.1.0.zip: frameledger.pyz, include/frameledger.h and LICENSE. SHA256 84a9254101421b223ca1429f889310ef92d1d4e4da433f19ce0d4225c89b9f5a. A release candidate's archive, frameledger-v0.1.0-rc.N.zip, is the same bytes under another name. python3 -I scripts/build_release.py OUTDIR v0.1.0, run on the tag, rebuilds it; the release workflow does so under Python 3.10.22.
  • The run-file format, schema 1: a header line, an optional static line, a column line, CSV rows, and a close line ending a finished run, as docs/specs/FLED-0001-run-file-format.md § 4 defines them. This is the first schema. Every later change to it will be named here (FLED-0001).
  • check FILE… says whether each run file meets the format, with exit codes 0, 1 and 3 and a --json result (FLED-0002).
  • --selftest and --version (FLED-0002).
  • report FILE says where one run's frame time went: passes ranked by time spent per segment kind, CPU-bound and GPU-bound share (or that it does not apply), the worst frames with their costliest pass, and the static line. Frames with no GPU result are counted, never taken as zero (FLED-0003).
  • floor FILE --fps N says whether a run held a frame rate in every one-second window after the warm-up, and whether any single frame took longer than a budget. Exit 0 pass, 1 fail, 2 inconclusive (dropped rows, an unfinished run, a gap in the timeline, or no full window), 3 error (FLED-0004).
  • report and floor warn when a run's numbers should not be trusted: a Debug build, a software renderer, a busy CPU or GPU before the run, segments timed before they settled, fewer than 100 measured frames, or a camera cut in the middle of a segment. A warning never changes the verdict or the exit code. New optional header field settled_frames (FLED-0005).
  • include/frameledger.h, an optional writer an engine can include instead of writing run files itself. One header, usable from C and C++. It never allocates and writes no files: the engine hands it a buffer and writes the bytes out when it chooses. A full buffer drops rows and counts them in the file. Numbers come out the same whatever the machine's language (FLED-0006).