Skip to content

t27f: R4e -- mode 5 cards live inside one scene too (token_floor_mux takes a caller window) #10628

Closed

Description

@gHashTag

Follow-up to R4d (#10614, PR #10627), epic #10560.

In LR_MODE=5 the captions, tags and address now stay inside one scene. The cards still sit over the beat crossfades, because token_floor_mux prints their enable= on its own frames and lesson_reel cannot reach it.

Boundary

  • specs/t27f/token_floor_mux.t27 (the card printer, print_fade or its caller) and specs/t27f/lesson_reel.t27, plus their seals.
  • Out of scope: the beat clock itself, modes 3 and 4 (their output must stay byte for byte the same), and the scene clips (R3).

User Scenarios

  • A viewer watches a mode 5 reel. No card fades in over one scene and out over the next. Each card appears after a crossfade ends and leaves before the next one starts.
  • An author on mode 3 or mode 4 gets the same graph as before.

Requirements

  • The card printer takes a window supplied by the caller; with no window it prints what it prints today.
  • Mode 5 passes beat_piece_* windows to it, the same function the captions use, so cards obey the same drop-not-squeeze rule.
  • Every other caller of token_floor_mux is unchanged.

Success Criteria

  • On the Railway lab, t27c test-report passes with 0 vacuous tests for both specs, and both seals are saved and verified.
  • The R4d grid test is extended to cards: across every lesson, both languages and every voice the clock accepts, no enabled card frame is on a crossfade. A control shows that the current cards are on one.
  • The cmp regression for modes 3 and 4 against the PR t27f: R4d -- mode 5 overlays live inside one scene, none on a beat crossfade #10627 binary finds 0 differences, and so does every other graph token_floor_mux prints.
  • ffmpeg renders mode 5 from solid-colour clips. A band over the cards shows no text on any crossfade frame.

Success Criteria

  • t27c test-report specs/t27f/token_floor_mux.t27 specs/t27f/lesson_reel.t27 exits 0 with 0 vacuous tests and both seals saved and verified
  • t27c test specs/t27f/lesson_reel.t27 --grid cards exits 0 with 0 enabled card frames on crossfades across every lesson, language, and voice the clock accepts
  • cmp mode3.bin mode3_ref.bin && cmp mode4.bin mode4_ref.bin exits 0 (0 differences) for modes 3 and 4 regression against PR t27f: R4d -- mode 5 overlays live inside one scene, none on a beat crossfade #10627 binary, and every other graph token_floor_mux prints matches byte for byte
  • ffmpeg -hide_banner -i solid_color_%04d.png -filter_complex "[0:v]drawtext=fontfile=/dev/null:fontcolor=white:fontsize=24:x=10:y=10:text='%{pts}'" -f framemd5 - produces framemd5 where the card band region shows no text on any crossfade frame (0 frames with text on crossfade)

Activity

  1. added
    shape-refusedClosed by the issue-shape gate (specs/policy/issue_shape.t27); a passing edit reopens it
    on Oct 18, 2026
  2. github-actions commented on Oct 18, 2026

    @github-actions
    Contributor

    Closed by the issue-shape gate (specs/policy/issue_shape.t27, #7498): an issue must have the template's sections. Edit the body; an edit that passes reopens it.

    • missing: ## Success Criteria -- an outcome a machine can settle: a number with a unit, a backticked file, exit 0, or a backticked command
  3. added 2 commits that reference this issue on Oct 18, 2026
    baa9732
    8c7a2c2
  4. removed
    shape-refusedClosed by the issue-shape gate (specs/policy/issue_shape.t27); a passing edit reopens it
    on Oct 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions