Skip to content

Fail closed when timing.json start/end are not JSON numbers - #134

Merged
cursor[bot] merged 2 commits into
mainfrom
cursor/timing-start-end-2ccd
Sep 7, 2026
Merged

Fail closed when timing.json start/end are not JSON numbers#134
cursor[bot] merged 2 commits into
mainfrom
cursor/timing-start-end-2ccd

Conversation

@jmjava

@jmjava jmjava commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Summary

PR #127 typed words / segments as arrays of objects. Each row still used float(row.get("start", 0.0)).

  • Missing start waited until 0.0 and dumped the board.
  • start: true became 1.0 because bool is a subclass of int.
  • A string "0.5" looked like a timestamp instead of a type error.

load_bundle_timing now requires start and end to be JSON numbers (int or float, not bool). Manim _load_timing / _load_timing_words do the same, and scene-compile refreshes object-only helper bodies.

Empty [] / missing / null lists stay allowed.

Test plan

  • New tests: missing / null / bool / string start/end fail closed; helpers refresh
  • ruff check src/ tests/
  • pytest tests/ — 766 passed, 1 skipped
  • docgen benchmark — meets src/docgen/benchmark_data/baseline.json (helper change, no --update-baseline)

Milestone: milestones/timing-start-end.md

Open in Web Open in Cursor 

cursoragent and others added 2 commits September 7, 2026 23:45
Word and segment rows used float(row.get("start", 0.0)), so a missing start
waited until t=0 and dumped the board, and start: true became 1.0s.

Co-authored-by: jmjava <jmjava@gmail.com>
ruff, pytest (766 passed, 1 skipped), and docgen benchmark all green.

Co-authored-by: jmjava <jmjava@gmail.com>
@jmjava
jmjava marked this pull request as ready for review September 7, 2026 23:46
@cursor
cursor Bot merged commit 7b7eadf into main Sep 7, 2026
6 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.

2 participants