Skip to content

Mid-hold pulses and leftover title-clamp / overlap gates - #69

Open
jmjava wants to merge 2 commits into
mainfrom
cursor/hold-span-dwell-75a9
Open

Mid-hold pulses and leftover title-clamp / overlap gates#69
jmjava wants to merge 2 commits into
mainfrom
cursor/hold-span-dwell-75a9

Conversation

@jmjava

@jmjava jmjava commented Aug 15, 2026

Copy link
Copy Markdown
Owner

What

Follow-up to #68. Two commits:

  1. Title clamp, spec-geometry overlaps, slide pages — this landed on the previous branch after Clock-safe dwell and richer diagram motion #68 was squash-merged, so it never reached main. Title Write is clamped against the first wait_word; layout floors catch title-band / gap collisions before Manim; page transition: slide FadeOuts previous boxes with a left shift; flow pages auto-grow the first node.

  2. Mid-hold pulses — a single Indicate after a reveal still left long subject-beat holds frozen. plan_hold_pulses now schedules additional timed_wait + Indicate / Circumscribe beats so the board does not sit still longer than MAX_STATIC_HOLD (4s), always leaving DWELL_CLOCK_MARGIN before the next spoken start. The last box uses the audio tail as its deadline.

docgen validate / generate-all preflight gain hold_idle_violations: a long freeze after the last pulse is a hard fail.

Why

#68 made the first dwell clock-safe. Long holds (the intended subject-beat behavior) still looked stuck after that one pulse. This keeps fail-closed beat matching and does not invent labels.

Tests

  • ruff check src/ tests/
  • pytest tests/ -q --tb=short391 passed

Consumers should pip install this SHA and run docgen scene-compile --retime (do not hand-edit generated scenes.py).

Open in Web Open in Cursor 

cursoragent and others added 2 commits August 15, 2026 03:25
Shrink the title Write so an early first wait_word is not skipped. Reject
specs whose title buff / row / column gaps would collide, and boxes that
clip the frame, before Manim runs. Flow pages grow the first node by
default; page_transition: slide fades the prior board sideways.

Co-authored-by: jmjava <jmjava@gmail.com>
After the first clock-safe Indicate, long subject-beat holds now
schedule additional timed_wait + pulse/ring beats so the board does
not sit still until the next wait_word. The last box uses the audio
tail as its deadline. Validate fails a hold that would idle too long.

Co-authored-by: jmjava <jmjava@gmail.com>
@jmjava
jmjava marked this pull request as ready for review August 15, 2026 03:28
@cursor

cursor Bot commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

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.

2 participants