Skip to content

feat: add disc22-25 fixtures + improve periodicity detection#27

Merged
yxbh merged 2 commits intomainfrom
feat/disc22-25-batch-fixtures
Mar 1, 2026
Merged

feat: add disc22-25 fixtures + improve periodicity detection#27
yxbh merged 2 commits intomainfrom
feat/disc22-25-batch-fixtures

Conversation

@yxbh
Copy link
Owner

@yxbh yxbh commented Mar 1, 2026

Summary

Batch-add 4 disc fixtures + analysis improvements.

Disc Fixtures

Disc Episodes Specials Pattern
disc22 5 0 Chapter-split compilation (period 6)
disc23 5 0 Chapter-split compilation (period 6, shifted)
disc24 3 8 Compilation + commentary + extras
disc25 1 1 OVA + digital archive

Analysis Improvements

Extended periodicity detector

These discs have a 6-chapter-per-episode pattern (OP/BODY/BODY/ED/PREVIEW/TRANSITION) that the previous detector didn't handle:

  1. OP at position [1]: disc23 has a short preamble chapter before the OP. Detector now checks group[1] when group[0] is a short non-OP chapter.
  2. ED at position [-3]: disc22 has preview + transition chapters after the ED. Detector now checks up to group[-3] for ED-range chapters.
  3. Majority rule: Replaced the fixed 75% threshold with matched * 2 > n_groups AND matched >= 2. This is a structural criterion (simple majority) rather than a magic number. disc24's 3rd episode (series finale) drops OP/ED — 2/3 groups match, which passes majority but failed at 75%.

Always try chapter-splitting the longest playlist

Previously, chapter splitting was only attempted when there was exactly one individual episode playlist. Now it always tries the longest playlist. For disc24, this correctly splits the 86min compilation into 3 ~28min episodes instead of treating it as one giant episode alongside commentary tracks.

Periodicity scores across all fixtures confirm no false positives:

Disc Episodes Score Split?
disc3/14/15 4 1.000 Yes
disc16 4 0.750 Yes
disc22/23 5 1.000 Yes
disc24 3 0.667 Yes (majority)
disc18 (movie) - 0.250 No
disc20 (movie) - 0.429 No

Test Results

399 tests passing (was 348, +51 new tests from 4 fixtures + 24 matrix entries).

yxbh and others added 2 commits March 1, 2026 17:42
New skill for processing multiple Blu-ray ISOs in one pass:
- Mount and analyze all ISOs in a folder
- Generate summary report with IG menu cross-checks
- User reviews/confirms counts in bulk
- Create all fixtures, tests, and matrix entries

Includes reference batch-analysis-report.py script template
for structured report generation with IG button-per-page
cross-validation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Batch-add 4 disc fixtures from 0083 Stardust Memory:
- disc22 (D1): 5 episodes, 0 specials — chapter-split compilation
- disc23 (D2): 5 episodes, 0 specials — chapter-split compilation
- disc24 (D3): 3 episodes, 8 specials — compilation + commentary + extras
- disc25 (SD): 1 episode, 1 digital archive

Analysis improvements:
- Extended periodicity detector: OP can be at position [1] when [0] is a
  short preamble; ED check extended to [-3] for patterns with trailing
  preview/transition chapters after ED
- Majority rule: replaced 75% threshold with simple majority
  (matched > unmatched AND matched >= 2). Series finales often drop
  OP/ED, making one group fail without invalidating the pattern.
- Always try chapter-splitting the longest episode playlist, not just
  when there's exactly one. Structural evidence (periodicity/IG marks)
  prevents false splits.

399 tests passing across 25 disc fixtures.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@yxbh yxbh merged commit 67fc694 into main Mar 1, 2026
1 check 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.

1 participant