Task 218: Animation Transfer Overlap Validation & Fix
完了 ← タスク一覧
Task 218: Animation Transfer Overlap Validation & Fix
Status: DONE
Human directive: Phase 21, item 25
Problem
EP01 diagram-04 (ペリジュピター捕獲 IF分析) has two transfers in the same scenario ("perijove") with overlapping time windows:
- Transfer 1 (approach→periapsis):
[0, 72000] - Transfer 2 (periapsis→Ganymede):
[36000, 72000]
This causes two ship markers to animate simultaneously during t=36000–72000s. Transfer 1's endTime should be 36000, not 72000.
The human wants a systematic fix — not just a data patch, but TDD-based validation to prevent this across all analyses.
Plan
Phase 1: Build-time validation (TDD)
- Add validation in
templates.tsor a dedicated validator: same-scenario transfers must not have overlapping[startTime, endTime]windows - Write unit tests first, then implement
- Validation should run during build (fail fast)
Phase 2: Fix EP01 diagram-04 data
- Fix Transfer 1 endTime from 72000 → 36000 in ep01.md
- Verify other diagrams don't have this issue (scan all episode MDX files)
Phase 3: E2E test
- Add Playwright test that verifies no diagram has overlapping same-scenario transfers
- Or verify via build-time validation + existing test coverage
Files
ts/src/templates.ts— rendering + validationts/src/templates.test.ts— unit testsreports/data/episodes/ep01.md— buggy datats/src/orbital-animation.js— browser hydration