diff --git a/src/data/index.ts b/src/data/index.ts index b248670..28b373a 100644 --- a/src/data/index.ts +++ b/src/data/index.ts @@ -110,6 +110,56 @@ import slamDunk from "@/data/mappings/slam-dunk.json"; import cardcaptorSakura from "@/data/mappings/cardcaptor-sakura.json"; import yugiohDuelMonsters from "@/data/mappings/yugioh-duel-monsters.json"; import digimonAdventure from "@/data/mappings/digimon-adventure.json"; +import blueLock from "@/data/mappings/blue-lock.json"; +import kurokosBasketball from "@/data/mappings/kurokos-basketball.json"; +import aceOfDiamond from "@/data/mappings/ace-of-diamond.json"; +import yowamushiPedal from "@/data/mappings/yowamushi-pedal.json"; +import chihayafuru from "@/data/mappings/chihayafuru.json"; +import blueExorcist from "@/data/mappings/blue-exorcist.json"; +import worldTrigger from "@/data/mappings/world-trigger.json"; +import shamanKing2021 from "@/data/mappings/shaman-king-2021.json"; +import katekyoHitmanReborn from "@/data/mappings/katekyo-hitman-reborn.json"; +import toriko from "@/data/mappings/toriko.json"; +import hellsParadise from "@/data/mappings/hells-paradise.json"; +import undeadUnluck from "@/data/mappings/undead-unluck.json"; +import beelzebub from "@/data/mappings/beelzebub.json"; +import nuraRiseOfTheYokaiClan from "@/data/mappings/nura-rise-of-the-yokai-clan.json"; +import toiletBoundHanakoKun from "@/data/mappings/toilet-bound-hanako-kun.json"; +import fistOfTheNorthStar from "@/data/mappings/fist-of-the-north-star.json"; +import saintSeiya from "@/data/mappings/saint-seiya.json"; +import dororo from "@/data/mappings/dororo.json"; +import claymore from "@/data/mappings/claymore.json"; +import blackLagoon from "@/data/mappings/black-lagoon.json"; +import dorohedoro from "@/data/mappings/dorohedoro.json"; +import gantz from "@/data/mappings/gantz.json"; +import ajin from "@/data/mappings/ajin.json"; +import deadmanWonderland from "@/data/mappings/deadman-wonderland.json"; +import btooom from "@/data/mappings/btooom.json"; +import bananaFish from "@/data/mappings/banana-fish.json"; +import drifters from "@/data/mappings/drifters.json"; +import terraFormars from "@/data/mappings/terra-formars.json"; +import knightsOfSidonia from "@/data/mappings/knights-of-sidonia.json"; +import inuyashiki from "@/data/mappings/inuyashiki.json"; +import horimiya from "@/data/mappings/horimiya.json"; +import komiCantCommunicate from "@/data/mappings/komi-cant-communicate.json"; +import myDressUpDarling from "@/data/mappings/my-dress-up-darling.json"; +import nisekoi from "@/data/mappings/nisekoi.json"; +import ouranHighSchoolHostClub from "@/data/mappings/ouran-high-school-host-club.json"; +import yourLieInApril from "@/data/mappings/your-lie-in-april.json"; +import erased from "@/data/mappings/erased.json"; +import skipAndLoafer from "@/data/mappings/skip-and-loafer.json"; +import bluePeriod from "@/data/mappings/blue-period.json"; +import given from "@/data/mappings/given.json"; +import foodWars from "@/data/mappings/food-wars.json"; +import grandBlue from "@/data/mappings/grand-blue.json"; +import devilIsAPartTimer from "@/data/mappings/devil-is-a-part-timer.json"; +import yaBoyKongming from "@/data/mappings/ya-boy-kongming.json"; +import cellsAtWork from "@/data/mappings/cells-at-work.json"; +import ancientMagusBride from "@/data/mappings/ancient-magus-bride.json"; +import landOfTheLustrous from "@/data/mappings/land-of-the-lustrous.json"; +import rankingOfKings from "@/data/mappings/ranking-of-kings.json"; +import toYourEternity from "@/data/mappings/to-your-eternity.json"; +import callOfTheNight from "@/data/mappings/call-of-the-night.json"; // JSON imports lose tuple types — `[1, 100]` becomes `number[]` instead of // `[number, number]`. `normalizeMapping` rebuilds tuples literally. @@ -289,6 +339,56 @@ const ALL_MAPPINGS: SeriesMapping[] = [ cardcaptorSakura, yugiohDuelMonsters, digimonAdventure, + blueLock, + kurokosBasketball, + aceOfDiamond, + yowamushiPedal, + chihayafuru, + blueExorcist, + worldTrigger, + shamanKing2021, + katekyoHitmanReborn, + toriko, + hellsParadise, + undeadUnluck, + beelzebub, + nuraRiseOfTheYokaiClan, + toiletBoundHanakoKun, + fistOfTheNorthStar, + saintSeiya, + dororo, + claymore, + blackLagoon, + dorohedoro, + gantz, + ajin, + deadmanWonderland, + btooom, + bananaFish, + drifters, + terraFormars, + knightsOfSidonia, + inuyashiki, + horimiya, + komiCantCommunicate, + myDressUpDarling, + nisekoi, + ouranHighSchoolHostClub, + yourLieInApril, + erased, + skipAndLoafer, + bluePeriod, + given, + foodWars, + grandBlue, + devilIsAPartTimer, + yaBoyKongming, + cellsAtWork, + ancientMagusBride, + landOfTheLustrous, + rankingOfKings, + toYourEternity, + callOfTheNight, ].map(normalizeMapping); export function findMappingByMediaId(mediaId: number): SeriesMapping | null { diff --git a/src/data/mappings/ace-of-diamond.json b/src/data/mappings/ace-of-diamond.json new file mode 100644 index 0000000..50f81fe --- /dev/null +++ b/src/data/mappings/ace-of-diamond.json @@ -0,0 +1,38 @@ +{ + "anilistAnimeId": 18689, + "anilistMangaId": 40884, + "title": "Ace of the Diamond", + "sourceNotes": "Cumulative episodes across S1 (75) + Second Season (51) = 126 episodes, which adapt essentially the entire original 'Diamond no Ace' (Act I) manga: ch 1 through the Fall Tournament final (~ch 410), with only the short graduation epilogue (~ch 411-418) left to OVAs. There is NO large unadapted Act I tail. The separate sequel manga 'Act II' and its anime (id 105749) are a distinct continuation and are not mapped here. Verified anchors: Yakushi summer QF = ch 97-120 / ep 33-40; Fall Tournament start ~ch 238 / ep 79; Fall final = ch 369-410 / ep 116-126. Middle chapter boundaries are interpolated approximations.", + "mappings": [ + { + "episodes": [1, 13], + "chapters": [1, 33], + "arc": "Introduction / Sawamura Joins Seido" + }, + { + "episodes": [14, 21], + "chapters": [34, 70], + "arc": "Spring Training Camp" + }, + { + "episodes": [22, 56], + "chapters": [71, 190], + "arc": "Summer East Tokyo Koshien Qualifier (loss to Inashiro)" + }, + { + "episodes": [57, 78], + "chapters": [191, 237], + "arc": "Post-Summer Transition / Team Rebuild" + }, + { "episodes": [79, 115], "chapters": [238, 368], "arc": "Fall Tournament" }, + { + "episodes": [116, 126], + "chapters": [369, 410], + "arc": "Fall Tournament Final (Seido vs Yakushi)" + }, + { + "chapters": [411, 418], + "arc": "Graduation Epilogue (TV-unadapted; OVA-covered)" + } + ] +} diff --git a/src/data/mappings/ajin.json b/src/data/mappings/ajin.json new file mode 100644 index 0000000..6d70b9d --- /dev/null +++ b/src/data/mappings/ajin.json @@ -0,0 +1,22 @@ +{ + "anilistAnimeId": 21341, + "anilistMangaId": 79865, + "title": "Ajin: Demi-Human", + "sourceNotes": "Manga complete; AniList counts 99 chapters / 17 volumes because it includes every magazine installment (the '.5' split chapters and the untitled Final Chapter). The volume/fan integer numbering instead runs 1 through ~85 plus the Final Chapter, so cross-checks against Bato/Kodansha volumes will show a lower top chapter than 99 - both describe the same complete manga. Chapter ranges here use AniList's 99 scale, with 99 = the Final Chapter. Anime (Polygon Pictures CG): Season 1 = eps 1-13, Season 2 = eps 14-26 (cumulative), total 26 episodes. Season 1 faithfully adapts ~chapters 1-21; the manga's documented divergence point is chapter 22. Season 2 only loosely follows the manga (to roughly chapter 69) and its finale (ep 26) is an anime-original ending in which Sato is defeated - in the manga Sato is never beaten. Fans recommend resuming the manga at chapter 22. The unadapted tail (~ch 70-99) is the manga's true climax and resolution. The three theatrical films (Shoudou/-Compel-, Shoutotsu, Shougeki) are recap compilations re-cutting the TV anime and are EXCLUDED. A 3-episode OVA of side stories is also excluded. Internal boundaries (22 / 69 / 70) are approximate.", + "mappings": [ + { + "episodes": [1, 13], + "chapters": [1, 21], + "arc": "Awakening & First Conflict (Season 1)" + }, + { + "episodes": [14, 26], + "chapters": [22, 69], + "arc": "Sato's War (Season 2, anime-divergent; original finale)" + }, + { + "chapters": [70, 99], + "arc": "Final Confrontation (unadapted manga climax)" + } + ] +} diff --git a/src/data/mappings/ancient-magus-bride.json b/src/data/mappings/ancient-magus-bride.json new file mode 100644 index 0000000..d9e3462 --- /dev/null +++ b/src/data/mappings/ancient-magus-bride.json @@ -0,0 +1,22 @@ +{ + "anilistAnimeId": 98436, + "anilistMangaId": 85435, + "title": "The Ancient Magus' Bride", + "sourceNotes": "Maps the TV anime to the ongoing manga (RELEASING; latest collected chapters reach ~115 in vol 23, Oct 2025). TV Season 1 (id 98436, 24 eps) adapts roughly chapters 1-45 and resolves the pre-College story. TV Season 2 (ids 154364 + 166452, 12 + 12 = 24 eps, cumulative eps 25-48) adapts the College (Gakuin) arc, chapters 46-70. The 3-part OVA prequel 'Those Awaiting a Star' (id 21688) is a chronological prequel showing Chise's past and is not part of this episode numbering. No theatrical films. Chapter boundaries are approximate; the anime skips and reorders some short chapters.", + "mappings": [ + { + "episodes": [1, 24], + "chapters": [1, 45], + "arc": "Slave / Bride (pre-College story)" + }, + { + "episodes": [25, 48], + "chapters": [46, 70], + "arc": "College (Gakuin) arc" + }, + { + "chapters": [71, 115], + "arc": "Post-College arc (unadapted, manga ongoing)" + } + ] +} diff --git a/src/data/mappings/banana-fish.json b/src/data/mappings/banana-fish.json new file mode 100644 index 0000000..7ceabe4 --- /dev/null +++ b/src/data/mappings/banana-fish.json @@ -0,0 +1,28 @@ +{ + "anilistAnimeId": 100388, + "anilistMangaId": 30756, + "title": "Banana Fish", + "sourceNotes": "Manga complete at 110 chapters / 19 volumes (Akimi Yoshida, 1985-1994). Anime complete at 24 episodes (MAPPA, 2018) and is a faithful, near-complete adaptation of the entire manga, ending with Ash's death (volume 19, ch ~110). The setting is updated from the 1980s to the 2010s but the story beats are preserved. The manga has no clean official arc names; ranges below are derived from the 19-volume structure (~3 chapters/volume early on, ~5-6 later) and align the 24 episodes roughly one-volume-per-episode. Chapter boundaries are approximate. Excludes the side story 'Private Opinion' and the spin-off 'Garden of Light' (Angel Eyes), which the anime did not adapt as numbered chapters.", + "mappings": [ + { + "episodes": [1, 5], + "chapters": [1, 15], + "arc": "Banana Fish (Ash & Eiji meet; the drug surfaces)" + }, + { + "episodes": [6, 11], + "chapters": [16, 35], + "arc": "Imprisonment & Escape (Golzine, Dawson, the conspiracy)" + }, + { + "episodes": [12, 17], + "chapters": [36, 65], + "arc": "The Truth of Banana Fish (Cape Cod, Foxx, Yut-Lung)" + }, + { + "episodes": [18, 24], + "chapters": [66, 110], + "arc": "The Final Battle (New York showdown; Ash's end)" + } + ] +} diff --git a/src/data/mappings/beelzebub.json b/src/data/mappings/beelzebub.json new file mode 100644 index 0000000..0614f57 --- /dev/null +++ b/src/data/mappings/beelzebub.json @@ -0,0 +1,37 @@ +{ + "anilistAnimeId": 9513, + "anilistMangaId": 40010, + "title": "Beelzebub", + "sourceNotes": "Single 60-episode TV anime (2011-2012). Main manga complete at 240 chapters (final chapter 240 'Goodbub!! Ishiyama High') across 27 volumes, plus 6 extra 'Beelzebub Another' chapters in vol 28 (28 vols total). (AniList lists 252 by also counting specials/bonus entries; the canonical numbered main run ends at 240.) The anime is a fairly faithful adaptation through chapter 121 (reached in episode 59), then diverges with an anime-original ending in episode 60 (excluded from the chapter mapping). Per-arc episode anchors (animefillerguide): Tohoshinki arc ends ch 40 at ep 22; Demon World arc ends ch 47 at ep 24; Saint Ishiyama/Rokkisei arc ends ch 76 at ep 36; Prince En arc ends ch 113 at ep 50; ep 59 covers ch 119-121 (mid Akumano Academy arc). Anime contains scattered filler. Chapters 122-240 (rest of Akumano Academy plus all later arcs and the manga's conclusion) are entirely unadapted (chapters-only tail).", + "mappings": [ + { + "episodes": [1, 22], + "chapters": [1, 40], + "arc": "Tohoshinki Arc" + }, + { + "episodes": [23, 24], + "chapters": [41, 47], + "arc": "Demon World Arc" + }, + { + "episodes": [25, 36], + "chapters": [48, 76], + "arc": "Saint Ishiyama Academy / Rokkisei Arc" + }, + { + "episodes": [37, 50], + "chapters": [77, 113], + "arc": "Prince En Arc" + }, + { + "episodes": [51, 59], + "chapters": [114, 121], + "arc": "Akumano Academy Arc (anime diverges; ep 60 is anime-original)" + }, + { + "chapters": [122, 240], + "arc": "Akumano Academy conclusion & later arcs through finale (unadapted)" + } + ] +} diff --git a/src/data/mappings/black-lagoon.json b/src/data/mappings/black-lagoon.json new file mode 100644 index 0000000..c5a1249 --- /dev/null +++ b/src/data/mappings/black-lagoon.json @@ -0,0 +1,49 @@ +{ + "anilistAnimeId": 889, + "anilistMangaId": 30735, + "title": "Black Lagoon", + "sourceNotes": "Cumulative episodes: TV Season 1 'Black Lagoon' (id 889, eps 1-12) + TV Season 2 'The Second Barrage' (id 1519, eps 13-24) + OVA 'Roberta's Blood Trail' (id 4901, eps 25-29). Manga is ongoing (chapter 0 prologue, latest published ch. 122 as of mid-2026; 13 volumes collected through ch. 116). The TV anime reorders several early arcs relative to the manga, so per-episode chapter splits are approximate; the firm anchors are the cumulative resume points: chapter 44 after the TV run (ep 24) and chapter 77 after the OVA (ep 29). Everything from ch. 77 onward is unadapted (chapters-only tail). Note the OVA's ending diverges from the manga arc's ending.", + "mappings": [ + { + "episodes": [1, 12], + "chapters": [0, 10], + "arc": "The Black Lagoon / Ring-Ding Ship Chase / Rasta Blasta" + }, + { + "episodes": [13, 15], + "chapters": [11, 20], + "arc": "Bloodsport Fairy Tale (Hansel & Gretel)" + }, + { + "episodes": [16, 18], + "chapters": [38, 43], + "arc": "Greenback Jane" + }, + { + "episodes": [19, 24], + "chapters": [21, 37], + "arc": "Fujiyama Gangsta Paradise (Japan / Washimine yakuza)" + }, + { + "episodes": [25, 29], + "chapters": [44, 76], + "arc": "El Baile de la Muerte (Roberta's Blood Trail, OVA)" + }, + { + "chapters": [77, 101], + "arc": "The Wired Red Wild Card (unadapted)" + }, + { + "chapters": [102, 109], + "arc": "L'homme Sombre (unadapted)" + }, + { + "chapters": [110, 116], + "arc": "New Girl in the Hood / Where the Chips Fall (unadapted)" + }, + { + "chapters": [117, 122], + "arc": "El Requiem de los Desalmados (unadapted, ongoing)" + } + ] +} diff --git a/src/data/mappings/blue-exorcist.json b/src/data/mappings/blue-exorcist.json new file mode 100644 index 0000000..c845af6 --- /dev/null +++ b/src/data/mappings/blue-exorcist.json @@ -0,0 +1,46 @@ +{ + "anilistAnimeId": 9919, + "anilistMangaId": 43492, + "title": "Blue Exorcist", + "sourceNotes": "Cumulative episodes across five TV cours: Season 1 (2011, 25 eps) + Kyoto Saga (2017, eps 26-37) + Shimane Illuminati Saga (2024, eps 38-49) + Beyond the Snow Saga (2024, eps 50-61) + Blue Night / Yosuga Saga (2025, eps 62-73) = 73 total. Season 1 adapts the manga faithfully only through ~episode 17 (chapters 1-15); episodes 18-25 are an anime-original Satan/Gehenna Gate ending (no manga chapters). The 2017 Kyoto Saga rebooted continuity to follow the manga from the Impure King arc onward, so later cours track the manga closely. Manga ongoing in its final stretch: latest published chapter 166 (Vol. 34, May 2026), on hiatus with ch 167 resuming July 2026; the unadapted 'Of One Cloth' / Society arc (ch 121-166+) is listed chapters-only. Post-Illuminati arc names are fan/cour labels and per-episode chapter boundaries are approximate — refine via PR.", + "mappings": [ + { + "episodes": [1, 17], + "chapters": [1, 15], + "arc": "True Cross Academy / Exwire Exam (Introduction)" + }, + { + "episodes": [26, 37], + "chapters": [16, 34], + "arc": "Kyoto Impure King Arc (Kyoto Saga)" + }, + { + "episodes": [38, 49], + "chapters": [38, 68], + "arc": "Shimane Illuminati Arc" + }, + { + "episodes": [50, 61], + "chapters": [69, 99], + "arc": "Beyond the Snow Saga" + }, + { + "episodes": [62, 73], + "chapters": [100, 120], + "arc": "Blue Night / Yosuga Saga" + }, + { + "chapters": [121, 166], + "arc": "Of One Cloth / Society Arc (ongoing, current ch 166)" + } + ], + "movies": [ + { + "anilistId": 11737, + "title": "Blue Exorcist: The Movie", + "year": 2012, + "afterEpisode": 25, + "note": "Anime-original side story expanding the Phantom Train omake (Vol. 6); self-contained and non-canon." + } + ] +} diff --git a/src/data/mappings/blue-lock.json b/src/data/mappings/blue-lock.json new file mode 100644 index 0000000..ebffd85 --- /dev/null +++ b/src/data/mappings/blue-lock.json @@ -0,0 +1,30 @@ +{ + "anilistAnimeId": 137822, + "anilistMangaId": 106130, + "title": "BLUE LOCK", + "sourceNotes": "Cumulative episodes across S1 (24) + S2 'Blue Lock VS. U-20 Japan' (14) = 38 episodes. S1 ends mid-Third-Selection (~ch. 94); S2 finishes the U-20 arc (~ch. 151). Manga ongoing in Weekly Shonen Magazine (current ~ch. 350); the entire Neo Egoist League arc is unadapted. Arc/season chapter boundaries are approximate.", + "mappings": [ + { + "episodes": [1, 5], + "chapters": [1, 38], + "arc": "Introduction / First Selection" + }, + { "episodes": [6, 19], "chapters": [39, 86], "arc": "Second Selection" }, + { "episodes": [20, 28], "chapters": [87, 108], "arc": "Third Selection" }, + { + "episodes": [29, 38], + "chapters": [109, 151], + "arc": "U-20 Arc (vs U-20 Japan)" + }, + { "chapters": [152, 350], "arc": "Neo Egoist League (unadapted, ongoing)" } + ], + "movies": [ + { + "anilistId": 163147, + "title": "BLUE LOCK THE MOVIE -EPISODE NAGI-", + "year": 2024, + "afterEpisode": 24, + "note": "Retells the early Blue Lock selection arcs from Seishiro Nagi's POV plus his backstory; adapts the spin-off manga 'Blue Lock -Episode Nagi-' (parallel continuity to S1)." + } + ] +} diff --git a/src/data/mappings/blue-period.json b/src/data/mappings/blue-period.json new file mode 100644 index 0000000..3f37456 --- /dev/null +++ b/src/data/mappings/blue-period.json @@ -0,0 +1,32 @@ +{ + "anilistAnimeId": 128705, + "anilistMangaId": 107237, + "title": "Blue Period", + "sourceNotes": "The 12-episode ONA adapts manga chapters 1-25 (volumes 1-6), ending with the Tokyo University of the Arts (Geidai) entrance-exam results in chapter 25 'No Regrets'. Pacing is a steady ~2 chapters/episode; the four section ranges are firm but the internal per-episode split points are approximations. Manga is ongoing (serialized in Monthly Afternoon); latest chapter approximately 87 with 19 volumes as of mid-2026. The only Blue Period film is a 2024 live-action movie, excluded here as it is not an anime adaptation.", + "mappings": [ + { + "episodes": [1, 3], + "chapters": [1, 6], + "arc": "Yatora discovers art / decides to pursue Geidai" + }, + { + "episodes": [4, 6], + "chapters": [7, 16], + "arc": "Prep school / cram school & mock exams" + }, + { + "episodes": [7, 9], + "chapters": [17, 21], + "arc": "Primary (first-stage) entrance exam" + }, + { + "episodes": [10, 12], + "chapters": [22, 25], + "arc": "Secondary exam & final results" + }, + { + "chapters": [26, 87], + "arc": "University (Geidai) arc (unadapted, Vol. 7 onward)" + } + ] +} diff --git a/src/data/mappings/btooom.json b/src/data/mappings/btooom.json new file mode 100644 index 0000000..eb46936 --- /dev/null +++ b/src/data/mappings/btooom.json @@ -0,0 +1,21 @@ +{ + "anilistAnimeId": 14345, + "anilistMangaId": 50593, + "title": "Btooom!", + "sourceNotes": "Manga complete at 125 chapters / 26 volumes (Comic Bunch, 2009-2018), ending with two alternate finales (a 'light' and a 'dark' ending published as separate versions of the final volume). Single-season anime (Madhouse, 2012) = 12 episodes, a faithful no-filler adaptation covering only the first 50 chapters (~volumes 1-9, the end of Phase 1 of the BTOOOM! survival game). The anime stops at a cliffhanger and was never continued; readers resume at chapter 51 (volume 10). The unadapted tail (ch 51-125) covers Phase 2 of the game (rules change: two-player teams, 14 chips instead of 8), Kira's backstory, the introduction of Kaname Date, the assault on Tyrannos Japan, and the final confrontation through the dual endings. Tail arc boundaries below are approximate (volume math ~4.8 chapters/volume); only the anime/manga split at chapter 50 and the overall ending at chapter 125 are firmly documented. No theatrical films.", + "mappings": [ + { + "episodes": [1, 12], + "chapters": [1, 50], + "arc": "Survival Game / Phase 1 (Season 1)" + }, + { + "chapters": [51, 90], + "arc": "Phase 2 (unadapted)" + }, + { + "chapters": [91, 125], + "arc": "Tyrannos Japan Assault & Finale (unadapted)" + } + ] +} diff --git a/src/data/mappings/call-of-the-night.json b/src/data/mappings/call-of-the-night.json new file mode 100644 index 0000000..5f894d0 --- /dev/null +++ b/src/data/mappings/call-of-the-night.json @@ -0,0 +1,26 @@ +{ + "anilistAnimeId": 141391, + "anilistMangaId": 111233, + "title": "Call of the Night", + "sourceNotes": "The main manga is complete at 200 chapters / 20 volumes (serialized Aug 2019 - Jan 2024; AniList's listed 203 over-counts split chapters). The separate 8-chapter 'Paradise Arc' (Rakuen-hen, AniList id 194075) is a standalone sequel and is not part of this 1-200 numbering. TV Season 1 (id 141391, 13 eps) adapts ch 1-46. TV Season 2 (id 175914, 12 eps, cumulative eps 14-25) adapts ch 47-97; the ep 25 finale is partly anime-original around ch 97, so the continue-reading point is ch 98. The back half of the manga (Hokkaido trip, Kiku/Mahiru arc, Haruka final arc, through the ch 200 finale) is unadapted. Per-arc chapter splits are approximate.", + "mappings": [ + { + "episodes": [1, 13], + "chapters": [1, 46], + "arc": "Falling for the night (Nazuna, Akira, early vampires)" + }, + { + "episodes": [14, 25], + "chapters": [47, 97], + "arc": "Detective pursuit, the other vampires & festival arc" + }, + { + "chapters": [98, 164], + "arc": "Hokkaido trip & Kiku / Mahiru arc (unadapted)" + }, + { + "chapters": [165, 200], + "arc": "Haruka final arc & ending (unadapted)" + } + ] +} diff --git a/src/data/mappings/cells-at-work.json b/src/data/mappings/cells-at-work.json new file mode 100644 index 0000000..d9eab39 --- /dev/null +++ b/src/data/mappings/cells-at-work.json @@ -0,0 +1,22 @@ +{ + "anilistAnimeId": 100977, + "anilistMangaId": 86778, + "title": "Cells at Work!", + "sourceNotes": "Cumulative episodes across S1 'Cells at Work!' (13) + S2 'Cells at Work!!' (8) = 21 TV episodes (eps 14-21 are S2). The manga is complete: 29 numbered chapters across 6 volumes (AniList lists 30, which counts the Vol. 6 'Psoriasis' Special). The show is episodic and freely reorders/combines chapters, so the chapter map is approximate. Confirmed anchors: S1 ends on ch 18 (Hemorrhagic Shock Pt. 2); S2 draws mainly from Vol. 5 (ch 20-25) plus part of Vol. 6, finishing the core story around ch 28. The manga's final chapter 29 ('Novel Coronavirus' / COVID finale) and the Psoriasis Special were NOT adapted in the TV run. The 'Common Cold' special, the recap 'Specials' set, and the CODE BLACK spin-off are excluded.", + "mappings": [ + { + "episodes": [1, 13], + "chapters": [1, 18], + "arc": "Season 1 (episodic; immune cells, scrape wound, influenza, allergy, cancer, heat stroke)" + }, + { + "episodes": [14, 21], + "chapters": [19, 28], + "arc": "Cells at Work!! / Season 2 (episodic; acne, stomach ulcer, thymocytes, cancer cell return)" + }, + { + "chapters": [29, 29], + "arc": "Novel Coronavirus (manga finale, unadapted) + Psoriasis Special" + } + ] +} diff --git a/src/data/mappings/chihayafuru.json b/src/data/mappings/chihayafuru.json new file mode 100644 index 0000000..baae7c2 --- /dev/null +++ b/src/data/mappings/chihayafuru.json @@ -0,0 +1,27 @@ +{ + "anilistAnimeId": 10800, + "anilistMangaId": 43245, + "title": "Chihayafuru", + "sourceNotes": "Anime spans 3 seasons (Madhouse): S1 id 10800 = eps 1-25, S2 id 14397 = eps 26-50, S3 id 101215 = eps 51-74 (cumulative 74 episodes). Manga complete at 248 chapters/verses across 50 volumes (2007-2022). Season boundaries follow the tankobon volume table: S1 = vols 1-7 (verses 1-41), S2 = vols 8-13 (verses 42-73), S3 = vols 14-27 (verses 74-143). Season 3 ends at verse 143 (vol 27); the manga continues from verse 144. Verses 144-248 (vols 28-50) are unadapted. Chihayafuru is structured around karuta tournaments rather than discretely named arcs, so mappings are grouped by season's competition focus.", + "mappings": [ + { + "episodes": [1, 25], + "chapters": [1, 41], + "arc": "High School Debut & Tokyo Qualifiers (Season 1)" + }, + { + "episodes": [26, 50], + "chapters": [42, 73], + "arc": "Class A Promotion & Team Nationals (Season 2)" + }, + { + "episodes": [51, 74], + "chapters": [74, 143], + "arc": "Master & Queen Challenge (Season 3)" + }, + { + "chapters": [144, 248], + "arc": "Final Tournaments & Conclusion (unadapted)" + } + ] +} diff --git a/src/data/mappings/claymore.json b/src/data/mappings/claymore.json new file mode 100644 index 0000000..5296815 --- /dev/null +++ b/src/data/mappings/claymore.json @@ -0,0 +1,44 @@ +{ + "anilistAnimeId": 1818, + "anilistMangaId": 30583, + "title": "Claymore", + "sourceNotes": "The 2007 Madhouse anime (26 eps) faithfully adapts roughly the first 26 'Scenes' (chapters) of the manga across eps 1-22, then DIVERGES into an ANIME-ORIGINAL ending in eps 23-26 (an invented conclusion to the Awakened-Beings storyline) while the manga was only at ~Scene 27. The manga is complete at 159 Scenes; the entire back half (the Battle of the North, the 7-year timeskip, the Organization hunt, and the final Priscilla arc) is UNADAPTED and listed as a chapters-only tail. Episode-to-Scene boundaries within the adapted portion are approximate.", + "mappings": [ + { + "episodes": [1, 4], + "chapters": [1, 6], + "arc": "Darkness in Paradise (Clare & Raki, early hunts)" + }, + { + "episodes": [5, 9], + "chapters": [7, 18], + "arc": "Teresa of the Faint Smile (Clare's origin flashback)" + }, + { + "episodes": [10, 15], + "chapters": [19, 28], + "arc": "Slashers / Rabona (Ophelia)" + }, + { + "episodes": [16, 22], + "chapters": [29, 40], + "arc": "Endless Gravestones / Northern Campaign Setup (Rigaldo)" + }, + { + "chapters": [50, 67], + "arc": "Battle of the North / Pieta (unadapted)" + }, + { + "chapters": [68, 89], + "arc": "Seven-Year Timeskip / Seven Ghosts (unadapted)" + }, + { + "chapters": [90, 137], + "arc": "Organization Hunt / Abyss Feeders (unadapted)" + }, + { + "chapters": [138, 159], + "arc": "Final Priscilla Arc (unadapted)" + } + ] +} diff --git a/src/data/mappings/deadman-wonderland.json b/src/data/mappings/deadman-wonderland.json new file mode 100644 index 0000000..e6c82a1 --- /dev/null +++ b/src/data/mappings/deadman-wonderland.json @@ -0,0 +1,25 @@ +{ + "anilistAnimeId": 6880, + "anilistMangaId": 33986, + "title": "Deadman Wonderland", + "sourceNotes": "Manga complete at 58 chapters / 13 volumes (Monthly Shonen Ace, 2007-2013). Single-season anime (Manglobe, 2011) = 12 episodes, no filler, adapting only the first 21 chapters (~volumes 1-5). The anime ends mid-story and was never continued; readers resume at chapter 22. The unadapted tail (ch 22-58) covers the rest of the manga: the Scar Chain escape arc, the Forgeries / Mockingbird arc (artificial Deadmen engineered to wipe out the real ones), and the final confrontation with Shiro / the Wretched Egg. Tail chapter boundaries below are approximate, anchored to volume math (~4.5 chapters/volume; e.g. volume 6 = ch 22-26) and the fandom wiki's arc descriptions; exact arc cutoffs within the unadapted portion are not precisely documented. A non-canon OVA ('The Red Knife Wielder') exists but is excluded. No theatrical films.", + "mappings": [ + { + "episodes": [1, 12], + "chapters": [1, 21], + "arc": "Deadman Wonderland Prison / Carnival Corpse (Season 1)" + }, + { + "chapters": [22, 34], + "arc": "Scar Chain Escape (unadapted)" + }, + { + "chapters": [35, 50], + "arc": "Forgeries / Return to Deadman Wonderland (unadapted)" + }, + { + "chapters": [51, 58], + "arc": "Wretched Egg Finale (unadapted)" + } + ] +} diff --git a/src/data/mappings/devil-is-a-part-timer.json b/src/data/mappings/devil-is-a-part-timer.json new file mode 100644 index 0000000..371b35a --- /dev/null +++ b/src/data/mappings/devil-is-a-part-timer.json @@ -0,0 +1,41 @@ +{ + "anilistAnimeId": 15809, + "anilistMangaId": 66723, + "title": "The Devil is a Part-Timer!", + "sourceNotes": "Source is a light novel (21 vols); this maps against the MANGA adaptation (AniList id 66723, 24 volumes, complete July 2025). AniList lists no chapter count; MangaUpdates gives 127 numbered chapters / 24 volumes. Cumulative episodes across S1 (2013, 13 eps) + S2 'Hataraku Maou-sama!!' (2022, 12 eps) + S2 Part 2 / '2nd Season' (2023, 12 eps) = 37 TV episodes (S2 = eps 14-25, S2P2 = eps 26-37). Major caveat: neither the anime nor the manga adapts the full LN. The manga covers the main Tokyo story (LN vols ~1-10) in its vols 1-19 (ch ~1-99), then its vols 20-24 (ch ~100-127) pivot to the PREQUEL '0/0-II' light novels (the Ente Isla origin of the Devil King's Army), which the anime never adapted. The anime's 37 eps cover only LN vols ~1-9 (manga ch ~1-89). Anime-to-LN boundaries (S1 = LN 1-2; S2 = LN 3,4,5,5.5) come from the Fandom FAQ; the manga-chapter alignment in the middle rows is approximate because the manga runs ~2 tankobon per LN volume and pads with unnumbered extras.", + "mappings": [ + { + "episodes": [1, 13], + "chapters": [1, 21], + "arc": "Sasazuka / the Hero arrives (LN vols 1-2)" + }, + { + "episodes": [14, 19], + "chapters": [22, 37], + "arc": "Sariel / lifeguard & Sentucky (LN vol 3)" + }, + { + "episodes": [20, 25], + "chapters": [38, 49], + "arc": "Sephirah / Crestia Bell (LN vols 4-5)" + }, + { + "episodes": [26, 31], + "chapters": [50, 69], + "arc": "Farfarello / Malebranche, Acieth appears (LN vols 6-7)" + }, + { + "episodes": [32, 37], + "chapters": [70, 89], + "arc": "Driving test / Ente Isla buildup (LN vols 8-9)" + }, + { + "chapters": [90, 99], + "arc": "Ente Isla campaign aftermath / return to Japan (LN ~vol 10, unadapted by anime)" + }, + { + "chapters": [100, 127], + "arc": "Prequel: Devil King's Army origin (LN '0'/'0-II'; manga finale, never animated)" + } + ] +} diff --git a/src/data/mappings/dorohedoro.json b/src/data/mappings/dorohedoro.json new file mode 100644 index 0000000..7eb5bb8 --- /dev/null +++ b/src/data/mappings/dorohedoro.json @@ -0,0 +1,22 @@ +{ + "anilistAnimeId": 105228, + "anilistMangaId": 31133, + "title": "Dorohedoro", + "sourceNotes": "Manga complete at 167 main chapters across 23 volumes (the 14-page 2020 special is sometimes counted as a 168th). AniList lists the manga as 191 chapters because it also counts the per-volume 'Bonus Curse' omake shorts and the special; all real chapter references and 'where to continue' guides use the 167-chapter main-story scale, which this mapping follows. Chapter ranges therefore do NOT match AniList's 191 figure. Anime: Season 1 (MAPPA, 2020) = eps 1-12; Season 2 (2025 ONA) = eps 13-23 (cumulative), total 23 canon episodes. Season 1 adapts roughly chapters 1-42 (it skips chapter 11 and reorders panels; ch 42 is split, with guides telling readers to resume at ch 41-42). Season 2 adapts roughly chapters 42-83, ending around volume 14 with readers pointed to continue at chapter 84. Because the anime reorders panels, S1/S2 split chapter 42; ranges below are made disjoint as 1-42 / 43-83 for clarity. Dorohedoro has no canonical arc-naming scheme (the wiki organizes by volume), so the labels below are descriptive. No theatrical films exist; the Netflix 'episode 13' Ma no Omake is a bundle of comedic OVA shorts, not story canon, and is excluded from the episode count. Unadapted tail (ch 84-167) is the back half of the story (post-En's-death) through the finale; a Season 3 has been announced.", + "mappings": [ + { + "episodes": [1, 12], + "chapters": [1, 42], + "arc": "The Hole / En Family Conflict (Season 1)" + }, + { + "episodes": [13, 23], + "chapters": [43, 83], + "arc": "En Family Conflict to En's Death (Season 2)" + }, + { + "chapters": [84, 167], + "arc": "Aftermath / Cross-Eyes Occupation to Finale (unadapted)" + } + ] +} diff --git a/src/data/mappings/dororo.json b/src/data/mappings/dororo.json new file mode 100644 index 0000000..a162888 --- /dev/null +++ b/src/data/mappings/dororo.json @@ -0,0 +1,28 @@ +{ + "anilistAnimeId": 101347, + "anilistMangaId": 31658, + "title": "Dororo", + "sourceNotes": "Tezuka's original manga is short (19 chapters / 4 volumes, 1967-1969) and was cancelled mid-run, then hastily concluded; Tezuka invented the 'Nue' (manga ch. 19) to wrap it up, leaving an open/unfinished ending. The 2019 anime (24 eps, MAPPA/Tezuka Productions) follows the core premise but DIVERGES and EXPANDS heavily: it reorders the manga's demon encounters, promotes flashback-only characters (Mio) into present-day arcs, and adds an entirely anime-original second half/finale (Tahomaru's full arc, Nui-no-Kata's sacrifice, Daigo's territory war, and Hyakkimaru being made whole) that has NO manga source. Mapping is COARSE and APPROXIMATE: episodes do not follow manga chapter order, and chapter ranges are best-fit groupings, not literal adaptations. The final entry extends to ch. 19 (manga complete) despite the original finale.", + "mappings": [ + { + "episodes": [1, 4], + "chapters": [1, 8], + "arc": "Origins & Early Demons (Daigo, Hyakkimaru, Jukai, Bandai, Cursed Sword)" + }, + { + "episodes": [5, 12], + "chapters": [9, 9], + "arc": "Mio, Dororo's Past & Banmon (anime-expanded; mostly original)" + }, + { + "episodes": [13, 20], + "chapters": [10, 19], + "arc": "Remaining Manga Demons Compressed (Hakumen-Fudo, Maimai-Onba, Shiranui, Cape of No Mercy, Amanojaku, Nue)" + }, + { + "episodes": [21, 24], + "chapters": [19, 19], + "arc": "Anime-Original Finale (Daigo's territory war, Tahomaru, Nui, final battle)" + } + ] +} diff --git a/src/data/mappings/drifters.json b/src/data/mappings/drifters.json new file mode 100644 index 0000000..d98083f --- /dev/null +++ b/src/data/mappings/drifters.json @@ -0,0 +1,32 @@ +{ + "anilistAnimeId": 21123, + "anilistMangaId": 43801, + "title": "Drifters", + "sourceNotes": "Manga ongoing (RELEASING; Kouta Hirano, 2009-). AniList reports no chapter total; the Drifters Wiki / Wikipedia list 7 volumes through ~chapter 97 (latest chapters uncollected). Volume-to-chapter map: V1 1-11, V2 12-22, V3 23-35, V4 36-47, V5 48-59, V6 60-71, V7 72-86, with ch 87-97 not yet in tankobon. The 12-episode TV anime (Hoods Entertainment, 2016; id 21123) adapts roughly chapters 1-44; a manga reader continues at ch 45 after the TV series. A 3-episode OVA continuation (id 97988, sequel to the TV series) carries the story to about chapter 56 — those are listed here CUMULATIVELY as episodes 13-15. Everything from ~ch 57 onward is manga only. The standalone 1-episode 'Drifters (OVA)' (id 16932) and 'Special edition' recap (id 122922) are excluded. Episode-to-chapter ranges are approximate.", + "mappings": [ + { + "episodes": [1, 4], + "chapters": [1, 14], + "arc": "Arrival (Toyohisa is drawn into the new world; meets Nobunaga & Yoichi)" + }, + { + "episodes": [5, 8], + "chapters": [15, 30], + "arc": "The Octobrist Organization & Carneades Fort" + }, + { + "episodes": [9, 12], + "chapters": [31, 44], + "arc": "Battle for Carneades / the Elf Village (TV finale)" + }, + { + "episodes": [13, 15], + "chapters": [45, 56], + "arc": "Orte Empire & the dwarves (OVA continuation)" + }, + { + "chapters": [57, 97], + "arc": "Later chapters (manga only, ongoing)" + } + ] +} diff --git a/src/data/mappings/erased.json b/src/data/mappings/erased.json new file mode 100644 index 0000000..dc77653 --- /dev/null +++ b/src/data/mappings/erased.json @@ -0,0 +1,33 @@ +{ + "anilistAnimeId": 21234, + "anilistMangaId": 69325, + "title": "Erased", + "sourceNotes": "The 12-episode TV anime adapts the COMPLETE main story: 44 chapters across 8 volumes (Vol. 8 = ch. 41-44, 'The Town Without Me'). AniList lists 49 chapters because it includes a side-story epilogue volume ('RE'); the main story is 44 chapters and the manga is complete (finished March 2016). The anime's ending DIVERGES from the manga: the manga's extended present-day cat-and-mouse confrontation with Yashiro spans chapters 37-44 and climaxes on a bridge, whereas the anime compresses this into roughly two episodes and relocates the final showdown to a hospital rooftop trap (also shrinking Kumi's role and cutting Yashiro's extended backstory). Endpoints (ep 1 = ch 1, ep 12 = ch 44) are firm; internal boundaries are anchored to manga volume breaks and are approximate, with the ep 11/12 split being the softest due to the compressed finale. No canonical anime film exists; the 2016 Erased film and the Netflix series are live-action (excluded).", + "mappings": [ + { + "episodes": [1, 2], + "chapters": [1, 6], + "arc": "Present-day 'Revival' setup & Sachiko's murder" + }, + { + "episodes": [3, 7], + "chapters": [7, 24], + "arc": "Back to 1988 — befriending & saving Kayo Hinazuki" + }, + { + "episodes": [8, 9], + "chapters": [25, 30], + "arc": "Continued 1988 rescue / the killer closing in" + }, + { + "episodes": [10, 11], + "chapters": [31, 36], + "arc": "Frozen-lake confrontation & the 15-year coma" + }, + { + "episodes": [12, 12], + "chapters": [37, 44], + "arc": "Present-day finale — confronting Yashiro (anime ending diverges)" + } + ] +} diff --git a/src/data/mappings/fist-of-the-north-star.json b/src/data/mappings/fist-of-the-north-star.json new file mode 100644 index 0000000..c98daa6 --- /dev/null +++ b/src/data/mappings/fist-of-the-north-star.json @@ -0,0 +1,61 @@ +{ + "anilistAnimeId": 967, + "anilistMangaId": 31149, + "title": "Fist of the North Star", + "sourceNotes": "Cumulative episodes span two TV series: 'Hokuto no Ken' (id 967, eps 1-109) and 'Hokuto no Ken 2' (id 1356, eps 110-152). The 1984-1988 anime is heavily padded with filler (including recap episodes ~78-82), so episode boundaries are approximate and arcs are mapped coarsely. Chapter numbers use the continuous 1-245 scheme from the tankobon volumes (Raoh's death = ch 134, end of Part 1; Land of Asura begins ch 162). Manga complete at 245 chapters. The anime stopped before the manga's final chapters (~211-245), which are left unadapted.", + "mappings": [ + { + "episodes": [1, 22], + "chapters": [1, 35], + "arc": "Shin / Southern Cross (KING)" + }, + { + "episodes": [23, 57], + "chapters": [36, 79], + "arc": "Toki & Raoh Introduction / Cassandra Prison" + }, + { + "episodes": [58, 72], + "chapters": [80, 116], + "arc": "Rei / Mamiya / Yuda" + }, + { + "episodes": [73, 82], + "chapters": [117, 152], + "arc": "Souther / Holy Emperor (Nanto)" + }, + { + "episodes": [83, 100], + "chapters": [153, 161], + "arc": "Nanto Five Chariot Stars / Juza of the Clouds" + }, + { + "episodes": [101, 109], + "chapters": [134, 134], + "arc": "Raoh Final Battle (end of Part 1)" + }, + { + "episodes": [110, 130], + "chapters": [162, 196], + "arc": "Land of Asura (Asuka)" + }, + { + "episodes": [131, 152], + "chapters": [197, 210], + "arc": "Hokuto vs Hokuto / Kaioh" + }, + { + "chapters": [211, 245], + "arc": "Final Chapters (unadapted)" + } + ], + "movies": [ + { + "anilistId": 1358, + "title": "Fist of the North Star", + "year": 1986, + "chapters": [1, 72], + "note": "Compressed alternate-continuity retelling of the early story through the first battle with Raoh; Toki is omitted and Yuria's fate is changed. Not in continuity with the TV series." + } + ] +} diff --git a/src/data/mappings/food-wars.json b/src/data/mappings/food-wars.json new file mode 100644 index 0000000..52fb3f5 --- /dev/null +++ b/src/data/mappings/food-wars.json @@ -0,0 +1,54 @@ +{ + "anilistAnimeId": 20923, + "anilistMangaId": 75757, + "title": "Food Wars!: Shokugeki no Soma", + "sourceNotes": "Cumulative episodes across S1 'Food Wars!' (24) + S2 'The Second Plate' (13) + S3 'The Third Plate' (24, split into two 12-ep cours: Part 1 eps 38-49 and Part 2 'Totsuki Train' eps 50-61) + S4 'The Fourth Plate' (12) + S5 'The Fifth Plate' (13) = 86 TV episodes. The five seasons adapt the entire 315-chapter main manga; the 3-chapter 'Le Dessert' epilogue (ch 316-318) was not adapted in the TV run. Firm boundaries: S2 ends at ch 116 (Stagiaire), S4 ends the Central conflict at ch 263, S5 (BLUE) runs ch 264-315 to the manga's end. Chapter ranges follow Wikipedia's chapter list; the Stagiaire/Moon-Banquet split differs slightly between Wikipedia and Fandom, and internal per-arc splits are approximations.", + "mappings": [ + { + "episodes": [1, 7], + "chapters": [1, 13], + "arc": "Introduction / Friends and Bonds (Saiba Joichiro intro)" + }, + { + "episodes": [8, 17], + "chapters": [14, 34], + "arc": "Totsuki Training Camp" + }, + { + "episodes": [18, 18], + "chapters": [35, 38], + "arc": "Karaage Wars / transition" + }, + { + "episodes": [19, 24], + "chapters": [39, 60], + "arc": "Autumn Election: Preliminaries" + }, + { + "episodes": [25, 34], + "chapters": [61, 104], + "arc": "Autumn Election: Main Tournament" + }, + { + "episodes": [35, 37], + "chapters": [105, 116], + "arc": "Stagiaire (work placement)" + }, + { + "episodes": [38, 49], + "chapters": [117, 171], + "arc": "Moon Banquet Festival / Central (Azami takeover)" + }, + { + "episodes": [50, 73], + "chapters": [172, 263], + "arc": "Totsuki Train / Regiment de Cuisine (Team Shokugeki)" + }, + { + "episodes": [74, 86], + "chapters": [264, 315], + "arc": "BLUE (Hot Spring & Beach Exam lead-in, then BLUE tournament; manga finale)" + }, + { "chapters": [316, 318], "arc": "Le Dessert (epilogue, unadapted)" } + ] +} diff --git a/src/data/mappings/gantz.json b/src/data/mappings/gantz.json new file mode 100644 index 0000000..26f0ceb --- /dev/null +++ b/src/data/mappings/gantz.json @@ -0,0 +1,80 @@ +{ + "anilistAnimeId": 384, + "anilistMangaId": 30564, + "title": "Gantz", + "sourceNotes": "Manga complete at 383 chapters / 37 volumes, structured in 3 phases (Phase 1 'Missions' ch 1-237, Phase 2 'Katastrophe' ch 238-303, Phase 3 'Invasion' ch 304-383) and 15 named mission arcs. TV anime is 26 episodes: Season 1 'Gantz' (2004) = eps 1-13, Season 2 'Gantz: Second Stage' (2004) = eps 14-26 (cumulative). The anime caught up to the still-running manga and Hiroya Oku told the director to invent an original ending: episodes 1-21 faithfully adapt through the Buddhist Temple Alien Mission (~chapter 91), then episodes 22-26 are anime-original (the 'Kurono Alien' material) with NO manga counterpart. Readers continue the manga at roughly chapter 92. Early arc chapter cutoffs are soft (Fandom mission-arc definitions vs. Wikipedia's volume grouping differ by a few chapters); the ch 92-108 'Kill Kei Kurono / Shorty' arc range is derived to fill the gap. The 2016 CG film GANTZ:O adapts the Nurarihyon (Osaka) Alien Mission, chapters 228-283.", + "mappings": [ + { + "episodes": [1, 5], + "chapters": [1, 25], + "arc": "Onion Alien Mission" + }, + { + "episodes": [6, 14], + "chapters": [26, 55], + "arc": "Tanaka Alien Mission" + }, + { + "episodes": [15, 21], + "chapters": [56, 91], + "arc": "Buddhist Temple Alien Mission" + }, + { + "chapters": [92, 108], + "arc": "Kill Kei Kurono / Shorty Alien Mission (unadapted)" + }, + { + "chapters": [109, 164], + "arc": "Dinosaur Alien Mission (unadapted)" + }, + { + "chapters": [165, 173], + "arc": "Ring Alien Mission (unadapted)" + }, + { + "chapters": [174, 186], + "arc": "Kill Tae Kojima Mission (unadapted)" + }, + { + "chapters": [187, 227], + "arc": "Oni Alien Mission (unadapted)" + }, + { + "chapters": [228, 283], + "arc": "Nurarihyon (Osaka) Alien Mission (unadapted by TV; adapted by GANTZ:O film)" + }, + { + "chapters": [284, 299], + "arc": "Italian Alien Mission (unadapted)" + }, + { + "chapters": [300, 313], + "arc": "The Invasion Begins (unadapted)" + }, + { + "chapters": [314, 328], + "arc": "Alien Ship Takeover Mission (unadapted)" + }, + { + "chapters": [329, 352], + "arc": "United Rescue (unadapted)" + }, + { + "chapters": [353, 368], + "arc": "Destroy the Tower Mission (unadapted)" + }, + { + "chapters": [369, 383], + "arc": "The Final Challenge (unadapted)" + } + ], + "movies": [ + { + "anilistId": 21496, + "title": "GANTZ:O", + "year": 2016, + "chapters": [228, 283], + "note": "CG film adapting the Nurarihyon / Osaka Alien Mission arc, which the TV anime never reached." + } + ] +} diff --git a/src/data/mappings/given.json b/src/data/mappings/given.json new file mode 100644 index 0000000..a8f9de1 --- /dev/null +++ b/src/data/mappings/given.json @@ -0,0 +1,61 @@ +{ + "anilistAnimeId": 108430, + "anilistMangaId": 87347, + "title": "Given", + "sourceNotes": "The 11-episode TV anime (2019) adapts the original manga's first arc, chapters 1-16 (volumes 1-3), ending after the first live performance and Ritsuka's confession to Mafuyu. The story is continued ONLY in theatrical films, not further TV. Numbering caveat: the original manga is complete (9 volumes, finale March 2023); its official cumulative chapter count is 49, but AniList lists 51 because the scanlation count splits decimal/bonus chapters (16.5, 40.1, etc.) — same finale, two conventions. Chapter ranges below use the linear count; the final film carries the story to the manga's finale (chapter 49 official / 51 on AniList). Volume boundaries (V1 1-6, V2 7-11, V3 12-16, V4 17-21, V5 22-28) are confirmed; the internal per-episode and per-film splits beyond the confirmed endpoints are approximations. A separate sequel manga 'Given: 10th Mix' (set ~10 years later) is NOT covered by the films. The 'On the Other Hand' OVA is a side-story, excluded.", + "mappings": [ + { + "episodes": [1, 3], + "chapters": [1, 6], + "arc": "Mafuyu joins the band / Uenoyama teaches him guitar (Vol. 1)" + }, + { + "episodes": [4, 8], + "chapters": [7, 11], + "arc": "Writing the song / rehearsals & emotional buildup (Vol. 2)" + }, + { + "episodes": [9, 11], + "chapters": [12, 16], + "arc": "First live performance, the confession, band resolution (Vol. 3)" + }, + { + "chapters": [17, 28], + "arc": "Haruki / Akihiko / Ugetsu arc (film: Given the Movie)" + }, + { + "chapters": [29, 42], + "arc": "Hiiragi / Shizusumi arc (film: Hiiragi Mix)" + }, + { + "chapters": [43, 51], + "arc": "Final Mafuyu / Ritsuka arc to the finale (film: To the Sea)" + } + ], + "movies": [ + { + "anilistId": 111734, + "title": "Given the Movie", + "year": 2020, + "chapters": [17, 28], + "afterEpisode": 11, + "note": "Canon continuation; adapts the Haruki/Akihiko/Ugetsu arc (Vols. 4-5). Starts at chapter 17 (confirmed); ending at chapter 28 is guide consensus." + }, + { + "anilistId": 162987, + "title": "given The Movie: Hiiragi Mix", + "year": 2024, + "chapters": [29, 42], + "afterEpisode": 11, + "note": "Part 1 of the two-part sequel 'Given: The Double Album'. Adapts the Hiiragi/Shizusumi arc (Vols. 6-8). Chapter span approximate; official sources give no chapter numbers." + }, + { + "anilistId": 175199, + "title": "given The Movie: To the Sea", + "year": 2024, + "chapters": [43, 51], + "afterEpisode": 11, + "note": "Part 2 of the sequel; completes the manga at its finale (chapter 49 official / 51 on AniList). Start chapter approximate; the finale endpoint is firm." + } + ] +} diff --git a/src/data/mappings/grand-blue.json b/src/data/mappings/grand-blue.json new file mode 100644 index 0000000..1e473e4 --- /dev/null +++ b/src/data/mappings/grand-blue.json @@ -0,0 +1,42 @@ +{ + "anilistAnimeId": 100922, + "anilistMangaId": 87395, + "title": "Grand Blue Dreaming", + "sourceNotes": "Cumulative episodes across S1 (2018, 12 eps) + S2 (2025, 12 eps) = 24 TV episodes (eps 13-24 are S2). Manga is ongoing (Good! Afternoon / Kodansha); latest serialized chapter is 108 as of mid-2026, with Vol. 26 (April 2026) ending at ch 106. S1 adapts ch 1-21 (end of Vol. 5); S2 adapts ch 22-45 (end of Vol. 11). Chapters 46-108 are unadapted and form the source for Season 3 (announced, premiering 2026). Grand Blue has no official named arcs (it is episodic slice-of-life); arc labels below are descriptive groupings by event/volume. S1/S2 boundary chapters (21, 45) come from continuation guides aligned to volume structure rather than a per-episode table, so per-arc internal splits are approximate.", + "mappings": [ + { + "episodes": [1, 5], + "chapters": [1, 8], + "arc": "Peek-a-Boo Diving Club / college drinking culture (Vols 1-2)" + }, + { + "episodes": [6, 9], + "chapters": [9, 17], + "arc": "Diving license training and exam (Vols 3-4)" + }, + { + "episodes": [10, 12], + "chapters": [18, 21], + "arc": "Okinawa / Miyakojima trip, first open-water dives (Vol 5)" + }, + { + "episodes": [13, 17], + "chapters": [22, 28], + "arc": "Back to campus, new term and contests (Vols 6-7)" + }, + { + "episodes": [18, 20], + "chapters": [29, 37], + "arc": "Divemaster path / Chris arc (Vols 8-9)" + }, + { + "episodes": [21, 24], + "chapters": [38, 45], + "arc": "Izu trip and continued antics (Vols 10-11)" + }, + { + "chapters": [46, 108], + "arc": "Post-S2 unadapted tail: Christmas, later trips, instructor storylines (Vols 12-26+, Season 3 source)" + } + ] +} diff --git a/src/data/mappings/hells-paradise.json b/src/data/mappings/hells-paradise.json new file mode 100644 index 0000000..4b9a46c --- /dev/null +++ b/src/data/mappings/hells-paradise.json @@ -0,0 +1,17 @@ +{ + "anilistAnimeId": 128893, + "anilistMangaId": 100994, + "title": "Hell's Paradise: Jigokuraku", + "sourceNotes": "Cumulative episodes across S1 (13, eps 1-13) + S2 (12, eps 14-25). Manga complete at 127 chapters / 13 volumes (4 arcs). S1 adapted through ~chapter 45 (mid-Lord Tensen); S2 resumed there and stopped at chapter 94 (officially chapters 60-89 plus ch 94 pulled forward), roughly two-thirds through the Horai Arc. Chapters ~95-127 (back half of Horai + the entire Departure Arc) are UNADAPTED, set up for a potential S3. MAPPA reordered chapters for pacing, so within-arc episode boundaries are approximate. No theatrical films (only stage plays).", + "mappings": [ + { "episodes": [1, 5], "chapters": [1, 16], "arc": "Island" }, + { "episodes": [6, 18], "chapters": [17, 59], "arc": "Lord Tensen" }, + { + "episodes": [19, 25], + "chapters": [60, 94], + "arc": "Horai (partial; anime stops at ch 94)" + }, + { "chapters": [95, 110], "arc": "Horai (unadapted remainder)" }, + { "chapters": [111, 127], "arc": "Departure" } + ] +} diff --git a/src/data/mappings/horimiya.json b/src/data/mappings/horimiya.json new file mode 100644 index 0000000..64dc708 --- /dev/null +++ b/src/data/mappings/horimiya.json @@ -0,0 +1,44 @@ +{ + "anilistAnimeId": 124080, + "anilistMangaId": 72451, + "title": "Horimiya", + "sourceNotes": "Single-cour 2021 TV anime (13 eps). The adaptation is heavily abridged — it cherry-picks chapters out of order to compress the whole romance into 13 episodes, skipping large stretches of the 152-chapter (complete) manga. Episode→chapter ranges below are approximate and consolidated from a per-episode guide; the anime threads through roughly chapters 1–122 with many gaps. The skipped material was later adapted as \"Horimiya: The Missing Pieces\" (2023). Last entry extends to the final chapter 152 to cover the manga in full.", + "mappings": [ + { + "episodes": [1, 1], + "chapters": [1, 3], + "arc": "A Tiny Happenstance (meeting)" + }, + { + "episodes": [2, 3], + "chapters": [4, 13], + "arc": "Getting to Know Each Other" + }, + { + "episodes": [4, 5], + "chapters": [16, 25], + "arc": "Confession / Dating Begins" + }, + { "episodes": [6, 7], "chapters": [26, 37], "arc": "Summer / Festival" }, + { + "episodes": [8, 9], + "chapters": [38, 55], + "arc": "Ishikawa & Yoshikawa / New Term" + }, + { + "episodes": [10, 10], + "chapters": [58, 61], + "arc": "Winter / Until the Snow Melts" + }, + { + "episodes": [11, 12], + "chapters": [62, 103], + "arc": "Second Year / Student Council" + }, + { + "episodes": [13, 13], + "chapters": [104, 152], + "arc": "Graduation Finale (incl. abridged tail)" + } + ] +} diff --git a/src/data/mappings/inuyashiki.json b/src/data/mappings/inuyashiki.json new file mode 100644 index 0000000..36f9d82 --- /dev/null +++ b/src/data/mappings/inuyashiki.json @@ -0,0 +1,28 @@ +{ + "anilistAnimeId": 97922, + "anilistMangaId": 85226, + "title": "Inuyashiki", + "sourceNotes": "Manga complete at 85 chapters / 10 volumes (Hiroya Oku, 2014-2017). Anime complete at 11 episodes (MAPPA, 2017), titled INUYASHIKI LAST HERO; it adapts the full manga to its conclusion with no filler. Volume-to-chapter boundaries from Wikipedia/Inu Yashiki Wiki: V1 1-8, V2 9-17, V3 18-26, V4 27-35, V5 36-44, V6 45-53, V7 54-61, V8 62-69, V9 70-77, V10 78-85. Episode-to-chapter ranges are approximate, distributing the 85 chapters across 11 episodes (~7-8 ch/episode) along the manga's three movements: Ichiro Inuyashiki's awakening, Hiro Shishigami's killing spree, and the meteor-strike finale.", + "mappings": [ + { + "episodes": [1, 3], + "chapters": [1, 17], + "arc": "Awakening (Inuyashiki and Hiro gain machine bodies)" + }, + { + "episodes": [4, 6], + "chapters": [18, 44], + "arc": "Two Paths (Inuyashiki the healer; Hiro the killer)" + }, + { + "episodes": [7, 9], + "chapters": [45, 69], + "arc": "Shishigami vs. Japan (manhunt and escalation)" + }, + { + "episodes": [10, 11], + "chapters": [70, 85], + "arc": "Last Hero (the meteor and final confrontation)" + } + ] +} diff --git a/src/data/mappings/katekyo-hitman-reborn.json b/src/data/mappings/katekyo-hitman-reborn.json new file mode 100644 index 0000000..7ccc1d3 --- /dev/null +++ b/src/data/mappings/katekyo-hitman-reborn.json @@ -0,0 +1,32 @@ +{ + "anilistAnimeId": 1604, + "anilistMangaId": 30047, + "title": "REBORN!", + "sourceNotes": "Single continuous 203-episode anime (2006-2010); episode numbers are not split by season. The anime ended at episode 203, adapting up to roughly manga chapter 282 (end of the Future / TYL arc); the Inheritance Ceremony (Shimon) and Curse of the Rainbow arcs were never animated and are listed here as chapters-only. Three anime-original filler arcs (Arcobaleno Trials eps 141-153, Inheritance Succession eps 178-189, plus assorted Daily-life interludes) adapt no main chapters and are omitted from the ranges. Manga complete: most chapter lists count 409 numbered chapters (Target 001-409); AniList reports 411 (likely counting post-series omake) — final mapping extends to 409. Early Daily Life / Kokuyo / Varia episode-to-chapter boundaries are approximate (heavy filler) — refine via PR.", + "mappings": [ + { "episodes": [1, 33], "chapters": [1, 61], "arc": "Daily Life Arc" }, + { + "episodes": [34, 65], + "chapters": [62, 82], + "arc": "Kokuyo Arc (Mukuro)" + }, + { + "episodes": [66, 73], + "chapters": [83, 139], + "arc": "Varia Arc / Battle for the Rings" + }, + { + "episodes": [74, 203], + "chapters": [140, 282], + "arc": "Future Arc / Future (TYL) Arc" + }, + { + "chapters": [283, 330], + "arc": "Inheritance Ceremony Arc / Shimon Arc" + }, + { + "chapters": [331, 409], + "arc": "Curse of the Rainbow / Representative Battle of the Rainbow Arc" + } + ] +} diff --git a/src/data/mappings/knights-of-sidonia.json b/src/data/mappings/knights-of-sidonia.json new file mode 100644 index 0000000..2239f2c --- /dev/null +++ b/src/data/mappings/knights-of-sidonia.json @@ -0,0 +1,52 @@ +{ + "anilistAnimeId": 19775, + "anilistMangaId": 43723, + "title": "Knights of Sidonia", + "sourceNotes": "Manga complete at 78 chapters / 15 volumes (Tsutomu Nihei, 2009-2015). Two anime seasons (Polygon Pictures): S1 'Knights of Sidonia' (12 eps, 2014) and S2 'Battle for Planet Nine' / Daikyuu Wakusei Seneki (12 eps, 2015). Episodes are CUMULATIVE: S2 episodes 1-12 are listed here as 13-24. Together the two seasons adapt roughly chapters 1-41 of the manga; a manga reader continues at chapter 42 after the anime. The 2021 film 'Ai Tsumugu Hoshi' (Love Woven in the Stars) then adapts the remaining final arc (~ch 42-78) in highly abridged and partly altered form. Volume-to-chapter map (Wikipedia): V1 1-5, V2 6-10, V3 11-15, V4 16-20, V5 21-25, V6 26-30, V7 31-35, V8 36-39, V9 40-44, V10 45-49 ... V15 71-78. Episode-to-chapter ranges within each season are approximate. The earlier 2015 'Sidonia no Kishi Movie' (id 21154) is a S1 recap compilation and is excluded.", + "mappings": [ + { + "episodes": [1, 4], + "chapters": [1, 10], + "arc": "Recruitment & First Sorties (Nagate becomes a Garde pilot)" + }, + { + "episodes": [5, 8], + "chapters": [11, 22], + "arc": "Hoshijiro & the Immortal Crew (Shizuka's loss; Nagate's secret)" + }, + { + "episodes": [9, 12], + "chapters": [23, 30], + "arc": "Benisuzume / Large Gauna Cluster Ship (S1 climax)" + }, + { + "episodes": [13, 16], + "chapters": [31, 35], + "arc": "Tsumugi (the human-Gauna hybrid is created)" + }, + { + "episodes": [17, 20], + "chapters": [36, 39], + "arc": "Gravitational Beam Emitter (the experimental weapon backfires)" + }, + { + "episodes": [21, 24], + "chapters": [40, 41], + "arc": "Battle for Planet Nine / Lem (S2 climax)" + }, + { + "chapters": [42, 78], + "arc": "Final Arc — Kanata no Kabi & the Gauna War's conclusion (manga only; abridged by the 2021 film)" + } + ], + "movies": [ + { + "anilistId": 99730, + "title": "Knights of Sidonia: Love Woven in the Stars (Ai Tsumugu Hoshi)", + "year": 2021, + "chapters": [42, 78], + "afterEpisode": 24, + "note": "Canonical sequel film concluding the series; abridges and alters the manga's final arc (chapters ~42-78)." + } + ] +} diff --git a/src/data/mappings/komi-cant-communicate.json b/src/data/mappings/komi-cant-communicate.json new file mode 100644 index 0000000..ac01a5f --- /dev/null +++ b/src/data/mappings/komi-cant-communicate.json @@ -0,0 +1,50 @@ +{ + "anilistAnimeId": 133965, + "anilistMangaId": 97852, + "title": "Komi Can't Communicate", + "sourceNotes": "Cumulative episodes across S1 (12, 2021) + S2 (12, 2022) = 24. Faithful, no-filler adaptation of manga chapters 1–129. Manga complete: the main Weekly Shōnen Sunday serialization ended at ch. 499, plus a bonus ch. 500 in the final Volume 37 (March 2025), so the canonical run is chapters 1–500 across 37 volumes. (AniList lists 537, which appears to over-count; 500 is the verified final chapter.) S2 finale (ep 24) ends at ch. 129; the unadapted tail (ch. 130–500) is included chapters-only. Slice-of-life with no formal arcs — groupings use seasonal/event sections and are approximate; S1 in particular reorders short skits.", + "mappings": [ + { + "episodes": [1, 2], + "chapters": [1, 15], + "arc": "First Day / Making Friends" + }, + { + "episodes": [3, 4], + "chapters": [16, 30], + "arc": "Stage Fright / Physical Exam" + }, + { "episodes": [5, 6], "chapters": [31, 44], "arc": "Yamai / Early Summer" }, + { + "episodes": [7, 8], + "chapters": [45, 57], + "arc": "Pool / Summer Festival" + }, + { + "episodes": [9, 11], + "chapters": [58, 68], + "arc": "New Semester / Sports Day / Culture Festival Prep" + }, + { + "episodes": [12, 12], + "chapters": [69, 73], + "arc": "Culture Festival (S1 finale)" + }, + { "episodes": [13, 15], "chapters": [74, 91], "arc": "Winter / Cat Café" }, + { + "episodes": [16, 18], + "chapters": [92, 106], + "arc": "Christmas / New Year" + }, + { "episodes": [19, 21], "chapters": [107, 119], "arc": "Kyoto Field Trip" }, + { + "episodes": [22, 24], + "chapters": [120, 129], + "arc": "Valentine's / White Day (S2 finale)" + }, + { + "chapters": [130, 500], + "arc": "Unadapted Tail (second year through graduation)" + } + ] +} diff --git a/src/data/mappings/kurokos-basketball.json b/src/data/mappings/kurokos-basketball.json new file mode 100644 index 0000000..226b211 --- /dev/null +++ b/src/data/mappings/kurokos-basketball.json @@ -0,0 +1,24 @@ +{ + "anilistAnimeId": 11771, + "anilistMangaId": 41652, + "title": "Kuroko's Basketball", + "sourceNotes": "Cumulative episodes across S1 (25) + S2 (25) + S3 (25) = 75 episodes, which adapt the entire main manga. Season endpoints (well-corroborated): S1 ~ch. 73, S2 ~ch. 169, S3 to the final chapter. Manga complete at 276 chapters per AniList (275 numbered chapters + a bonus per Wikipedia/Fandom). Arc names are fan conventions; the Introduction/Interhigh and Interhigh/Winter Cup cut-points are interpolated approximations (Winter Cup confidently begins at ch. 71).", + "mappings": [ + { "episodes": [1, 5], "chapters": [1, 16], "arc": "Introduction" }, + { + "episodes": [6, 25], + "chapters": [17, 73], + "arc": "Interhigh Tournament" + }, + { "episodes": [26, 75], "chapters": [74, 276], "arc": "Winter Cup" } + ], + "movies": [ + { + "anilistId": 21377, + "title": "Kuroko's Basketball: Last Game", + "year": 2017, + "afterEpisode": 75, + "note": "Adapts the separate 'Extra Game' sequel manga (Vorpal Swords vs Jabberwock), set after the Winter Cup; not part of the main 276-chapter series." + } + ] +} diff --git a/src/data/mappings/land-of-the-lustrous.json b/src/data/mappings/land-of-the-lustrous.json new file mode 100644 index 0000000..10a496f --- /dev/null +++ b/src/data/mappings/land-of-the-lustrous.json @@ -0,0 +1,25 @@ +{ + "anilistAnimeId": 98707, + "anilistMangaId": 74489, + "title": "Land of the Lustrous", + "sourceNotes": "Single-cour anime (12 eps) by Orange adapts roughly chapters 1-36 of the manga (covering vol 1-6, through the winter/Antarcticite arc and the start of Phos's transformation; the anime skips ch 33-35 and adapts only parts of ch 32 and 36). The manga is complete at 108 chapters / 13 volumes (serialization ended April 2024, final volume Nov 2024), so the large post-anime tail (the Moon, the schism, and the final war through 'War's End' and the epilogue) is unadapted. Post-anime arc chapter boundaries are approximate, anchored to documented milestones (Phos taken to the Moon ~ch 63, gem defections ~ch 70, final assault ~ch 93, 'War's End' ch 95).", + "mappings": [ + { + "episodes": [1, 12], + "chapters": [1, 36], + "arc": "Phosphophyllite / Winter (Antarcticite) arc" + }, + { + "chapters": [37, 62], + "arc": "Aftermath & investigation (unadapted)" + }, + { + "chapters": [63, 92], + "arc": "The Moon & the schism (unadapted)" + }, + { + "chapters": [93, 108], + "arc": "Final war & ending (unadapted)" + } + ] +} diff --git a/src/data/mappings/my-dress-up-darling.json b/src/data/mappings/my-dress-up-darling.json new file mode 100644 index 0000000..06962ad --- /dev/null +++ b/src/data/mappings/my-dress-up-darling.json @@ -0,0 +1,51 @@ +{ + "anilistAnimeId": 132405, + "anilistMangaId": 101583, + "title": "My Dress-Up Darling", + "sourceNotes": "Cumulative episodes across S1 (12, 2022) + S2 (12, 2025) = 24. Manga complete at 119 chapters (main story ended at ch. 115; extras 116–119 collected in the final Volume 15, July 2025). The TV anime is a faithful, near-1:1 adaptation; S2 reorders/interleaves a few chapters so some ranges overlap slightly. S2 finale (ep 24) adapts through ch. 85–86; the unadapted tail (ch. 86–119) is included chapters-only. Slice-of-life cosplay romance — section groupings are by cosplay shoot and are approximate.", + "mappings": [ + { "episodes": [1, 1], "chapters": [1, 1], "arc": "Meeting Marin" }, + { + "episodes": [2, 3], + "chapters": [2, 7], + "arc": "Costume Request / First Measurements" + }, + { + "episodes": [4, 6], + "chapters": [8, 17], + "arc": "Shizuku-tan Arc (First Cosplay)" + }, + { "episodes": [7, 8], "chapters": [18, 23], "arc": "Home Photoshoot" }, + { + "episodes": [9, 9], + "chapters": [24, 28], + "arc": "Meeting Sajuna (Juju)" + }, + { + "episodes": [10, 12], + "chapters": [29, 39], + "arc": "Black Lobelia / Summer Festival Shoot (S1 finale)" + }, + { + "episodes": [13, 15], + "chapters": [40, 50], + "arc": "Aftermath / Planning the Next Cosplay" + }, + { + "episodes": [16, 18], + "chapters": [51, 63], + "arc": "Halloween / Veronica Arc" + }, + { + "episodes": [19, 21], + "chapters": [64, 74], + "arc": "Beach Trip / Location Shoot" + }, + { + "episodes": [22, 24], + "chapters": [75, 85], + "arc": "Stargazer Cosplay / Confession Build-up (S2 finale)" + }, + { "chapters": [86, 119], "arc": "Unadapted Tail (incl. epilogue & extras)" } + ] +} diff --git a/src/data/mappings/nisekoi.json b/src/data/mappings/nisekoi.json new file mode 100644 index 0000000..059a844 --- /dev/null +++ b/src/data/mappings/nisekoi.json @@ -0,0 +1,54 @@ +{ + "anilistAnimeId": 18897, + "anilistMangaId": 61499, + "title": "Nisekoi: False Love", + "sourceNotes": "Cumulative episodes across S1 \"Nisekoi\" (20, 2014) + S2 \"Nisekoi:\" (12, 2015) = 32. Manga complete at 240 chapters on AniList (229 numbered chapters ending with ch. 229 \"Promise\", plus 11 .5 omake chapters). The anime adapts loosely and reorders chapters within each season, so ranges are approximate arc groupings. S1 ends around ch. 50 (cultural-festival Romeo & Juliet play); the whole anime ends at ch. 106 (\"Investigation\"). The large unadapted tail (ch. 107–240) is included chapters-only. No canonical anime film exists (the only Nisekoi movie is the 2018 live-action film, which is excluded).", + "mappings": [ + { + "episodes": [1, 3], + "chapters": [1, 7], + "arc": "Pendant & Promise / Fake Relationship" + }, + { "episodes": [4, 5], "chapters": [8, 13], "arc": "Onodera Focus" }, + { "episodes": [6, 8], "chapters": [14, 20], "arc": "Tsugumi Introduction" }, + { + "episodes": [9, 13], + "chapters": [21, 32], + "arc": "Hot Springs / Festival Beats" + }, + { + "episodes": [14, 17], + "chapters": [33, 44], + "arc": "Marika Introduction" + }, + { + "episodes": [18, 20], + "chapters": [45, 50], + "arc": "Cultural Festival / Romeo & Juliet (S1 finale)" + }, + { + "episodes": [21, 22], + "chapters": [51, 57], + "arc": "Please Notice / Fate Showdown" + }, + { + "episodes": [23, 26], + "chapters": [58, 75], + "arc": "Mother Arc / Summer" + }, + { + "episodes": [27, 29], + "chapters": [76, 90], + "arc": "Haru & Paula / Little Sister" + }, + { + "episodes": [30, 32], + "chapters": [91, 106], + "arc": "Toward the Finale / Investigation (S2 finale)" + }, + { + "chapters": [107, 240], + "arc": "Unadapted Tail (key mystery resolution & ending)" + } + ] +} diff --git a/src/data/mappings/nura-rise-of-the-yokai-clan.json b/src/data/mappings/nura-rise-of-the-yokai-clan.json new file mode 100644 index 0000000..df80c38 --- /dev/null +++ b/src/data/mappings/nura-rise-of-the-yokai-clan.json @@ -0,0 +1,32 @@ +{ + "anilistAnimeId": 7592, + "anilistMangaId": 35664, + "title": "Nura: Rise of the Yokai Clan", + "sourceNotes": "Cumulative episodes: S1 id 7592 = eps 1-24 (2010), S2 'Sennen Makyou / Demon Capital' id 10049 = eps 25-48 (2011). Main manga complete at 210 chapters / 25 volumes (2008-2012); final chapter is 210 'He Who Equips True Fear'. (AniList lists 218 because it also counts the separate 2023 4-chapter 'Kage/Shadow' sequel and bonus chapters; the canonical main-series count is 210.) Season 1 adapts ch 1-47 (through the Shikoku arc, with an expanded anime finale). Season 2 Demon Capital adapts ch 48-134, ending partway through volume 16 (mid-Kyoto/Hagoromo-Gitsune arc); manga readers continue at ch 135. Chapters 135-210 (New Year's, Urban Legend, Edo, Hyaku Monogatari, and Gokadoin/final arcs) are entirely unadapted. Arc boundaries per Nurarihyon no Mago fandom wiki Story Arcs.", + "mappings": [ + { + "episodes": [1, 9], + "chapters": [1, 17], + "arc": "Exposition / Gyuki Arc" + }, + { + "episodes": [10, 24], + "chapters": [18, 47], + "arc": "Ungaikyo / Shikoku Arc (Season 1 finale)" + }, + { + "episodes": [25, 32], + "chapters": [48, 77], + "arc": "Jami / Keikain / Past / Tono Arc (Demon Capital)" + }, + { + "episodes": [33, 48], + "chapters": [78, 134], + "arc": "Kyoto Arc: Hagoromo-Gitsune (Demon Capital finale, ends mid-arc)" + }, + { + "chapters": [135, 210], + "arc": "Urban Legend / Edo / Hyaku Monogatari / Gokadoin final arcs (unadapted)" + } + ] +} diff --git a/src/data/mappings/ouran-high-school-host-club.json b/src/data/mappings/ouran-high-school-host-club.json new file mode 100644 index 0000000..46ff205 --- /dev/null +++ b/src/data/mappings/ouran-high-school-host-club.json @@ -0,0 +1,60 @@ +{ + "anilistAnimeId": 853, + "anilistMangaId": 30030, + "title": "Ouran High School Host Club", + "sourceNotes": "Single 26-episode anime (2006). Episodic adaptation, roughly one manga chapter per episode, that reorders several stories and adapts only about chapters 1–36 (Volumes 1–8); episodes 25–26 are a studio-original Éclair Tonnerre / Ouran Fair finale with no manga equivalent. The manga's chapters are untitled, so episodes are matched by adapted events — intermediate boundaries are approximate. Manga complete: 83 numbered story chapters across 18 volumes; AniList reports 97 counting per-volume bonus/omake and specials. The unadapted tail (ch. 37–97 — the France trip, family drama, and Tamaki–Haruhi romance) is included chapters-only.", + "mappings": [ + { "episodes": [1, 2], "chapters": [1, 2], "arc": "Host Club Introduction" }, + { + "episodes": [3, 4], + "chapters": [3, 4], + "arc": "Physical Exam / Renge (Lady Manager)" + }, + { + "episodes": [5, 6], + "chapters": [5, 6], + "arc": "The Twins' Fight / Shiro" + }, + { + "episodes": [7, 8], + "chapters": [7, 9], + "arc": "Water Park / Beach Trip" + }, + { "episodes": [9, 9], "chapters": [10, 10], "arc": "Lobelia / Zuka Club" }, + { + "episodes": [10, 11], + "chapters": [12, 13], + "arc": "Haruhi's Family / Ranka" + }, + { + "episodes": [12, 14], + "chapters": [14, 16], + "arc": "Honey's Cavity / Newspaper Club" + }, + { + "episodes": [15, 17], + "chapters": [17, 21], + "arc": "Karuizawa / Misuzu Pension" + }, + { + "episodes": [18, 20], + "chapters": [29, 31], + "arc": "Yasuchika / Zuka Club Returns" + }, + { "episodes": [21, 21], "chapters": [11, 32], "arc": "Halloween" }, + { + "episodes": [22, 24], + "chapters": [33, 36], + "arc": "Kasanoda / Kyoya-Tamaki Origin" + }, + { + "episodes": [25, 26], + "chapters": [36, 36], + "arc": "Ouran Fair Finale (anime-original)" + }, + { + "chapters": [37, 97], + "arc": "Unadapted Tail (France trip, family drama, romance)" + } + ] +} diff --git a/src/data/mappings/ranking-of-kings.json b/src/data/mappings/ranking-of-kings.json new file mode 100644 index 0000000..d40412f --- /dev/null +++ b/src/data/mappings/ranking-of-kings.json @@ -0,0 +1,27 @@ +{ + "anilistAnimeId": 113717, + "anilistMangaId": 114388, + "title": "Ranking of Kings", + "sourceNotes": "TV Season 1 (id 113717, 23 eps) adapts the entirety of the manga's Part 1 (the Bosse Kingdom storyline), which is chapters 1-155 / volumes 1-12; Part 2 begins at chapter 156 and the manga remains ongoing (RELEASING; ~chapter 276 as of Dec 2025). The Ousama Ranking manga uses short, web-style chapters, so the per-arc chapter splits within Part 1 are approximate (~6-7 chapters per episode). The sequel TV 'Treasure Chest of Courage' (id 153452, 10 eps) adapts bonus / side-story gaiden chapters and is not mapped to the main-series numbering here, so it is omitted. The announced Ousama Ranking film (id 166457) is NOT_YET_RELEASED and is excluded.", + "mappings": [ + { + "episodes": [1, 9], + "chapters": [1, 55], + "arc": "King Bosse's death & Bojji's journey" + }, + { + "episodes": [10, 15], + "chapters": [56, 100], + "arc": "Underworld training (Despa) & Miranjo's plot" + }, + { + "episodes": [16, 23], + "chapters": [101, 155], + "arc": "Battle for the Bosse Kingdom (Part 1 finale)" + }, + { + "chapters": [156, 276], + "arc": "Part 2 (unadapted in main TV, manga ongoing)" + } + ] +} diff --git a/src/data/mappings/saint-seiya.json b/src/data/mappings/saint-seiya.json new file mode 100644 index 0000000..e99fdde --- /dev/null +++ b/src/data/mappings/saint-seiya.json @@ -0,0 +1,58 @@ +{ + "anilistAnimeId": 1254, + "anilistMangaId": 31045, + "title": "Saint Seiya: Knights of the Zodiac", + "sourceNotes": "Original 1986-1989 Toei TV anime (114 eps). Chapter numbers use AniList's 249-act scale (manga complete at 249 chapters / 28 volumes); arc boundaries are anchored to tankobon volumes (vols 1-13 = Sanctuary, 14-18 = Poseidon, 19-28 = Hades) and the exact 249-scale cut points are derived/approximate. The TV anime is heavy-filler; the internal Sanctuary sub-divisions (Galaxian Wars / Silver Saints / Twelve Gold Houses) vary by source, but the firm hard boundaries are Sanctuary ep 1-73, the ANIME-ORIGINAL Asgard arc ep 74-99 (no manga source), and Poseidon ep 100-114. The TV series adapted only manga vols 1-18 and stopped before the Hades arc (vols 19-28), which is left unadapted (later animated as separate OVAs). Excludes the Knights of the Zodiac CG reboot, Omega, Lost Canvas, and Saintia Sho.", + "mappings": [ + { + "episodes": [1, 40], + "chapters": [1, 18], + "arc": "Galaxian Wars / Black Saints" + }, + { + "episodes": [41, 60], + "chapters": [19, 53], + "arc": "Silver Saints" + }, + { + "episodes": [61, 73], + "chapters": [54, 116], + "arc": "Sanctuary / Twelve Gold Houses (Zodiac)" + }, + { + "episodes": [100, 114], + "chapters": [117, 160], + "arc": "Poseidon" + }, + { + "chapters": [161, 249], + "arc": "Hades - Sanctuary / Inferno / Elysion (unadapted by TV)" + } + ], + "movies": [ + { + "anilistId": 1256, + "title": "Saint Seiya: Evil Goddess Eris", + "year": 1987, + "note": "Anime-original non-canon side story; adapts no manga chapters." + }, + { + "anilistId": 1255, + "title": "Saint Seiya: Legend of Crimson Youth", + "year": 1988, + "note": "Anime-original non-canon side story; adapts no manga chapters." + }, + { + "anilistId": 1258, + "title": "Saint Seiya: The Heated Battle of the Gods", + "year": 1988, + "note": "Anime-original non-canon side story; inspired the TV anime's Asgard arc. Adapts no manga chapters." + }, + { + "anilistId": 1260, + "title": "Saint Seiya: Warriors of the Final Holy Battle", + "year": 1989, + "note": "Anime-original non-canon side story; adapts no manga chapters." + } + ] +} diff --git a/src/data/mappings/shaman-king-2021.json b/src/data/mappings/shaman-king-2021.json new file mode 100644 index 0000000..4f892dc --- /dev/null +++ b/src/data/mappings/shaman-king-2021.json @@ -0,0 +1,38 @@ +{ + "anilistAnimeId": 119675, + "anilistMangaId": 30050, + "title": "SHAMAN KING (2021)", + "sourceNotes": "The 2021 reboot (52 eps, single run) faithfully re-adapts the ENTIRE manga, including the canonical true ending that the 2001 anime never reached. Numbering caveat: the reboot adapts the 35-volume Complete Edition (kanzenban), whose 'Reincarnation' chapters run 1-300; the original serialized print (referenced by AniList manga id 30050) was 285 chapters / 288 per AniList. This file uses the AniList 288-chapter count as its source of truth and scales the kanzenban arc seams into that numbering, so the final entry extends to chapter 288 (the manga's ending). There is NO unadapted tail and NO theatrical film in this continuity. Pacing is fast (~5-6 ch/ep) and per-episode boundaries are approximate — refine via PR.", + "mappings": [ + { + "episodes": [1, 4], + "chapters": [1, 25], + "arc": "Coming to Tokyo (Introduction)" + }, + { + "episodes": [5, 13], + "chapters": [26, 77], + "arc": "Shaman Fight in Tokyo (Preliminaries / Hao Introduced)" + }, + { + "episodes": [14, 20], + "chapters": [78, 103], + "arc": "American Tour / Road to Patch Village" + }, + { + "episodes": [21, 43], + "chapters": [104, 247], + "arc": "Shaman Fight Second Round (Patch Village / Gandhara)" + }, + { + "episodes": [44, 51], + "chapters": [248, 275], + "arc": "Invading the Plants (Mu Continent / Great Spirit / Final Battle)" + }, + { + "episodes": [52, 52], + "chapters": [276, 288], + "arc": "Epilogue (True Ending)" + } + ] +} diff --git a/src/data/mappings/skip-and-loafer.json b/src/data/mappings/skip-and-loafer.json new file mode 100644 index 0000000..b50e77b --- /dev/null +++ b/src/data/mappings/skip-and-loafer.json @@ -0,0 +1,36 @@ +{ + "anilistAnimeId": 141911, + "anilistMangaId": 109285, + "title": "Skip and Loafer", + "sourceNotes": "Season 1 only (12 episodes), a faithful, filler-free adaptation that covers manga chapters 1-23 (volumes 1-4), ending with the cultural festival. Manga chapters are labelled 'Scene N'. The per-episode split within each volume block is an even-pacing approximation; the overall span (ep 1-12 = ch 1-23) is firm. Manga is ongoing (serialized in Monthly Afternoon); latest chapter approximately 78 with 13 volumes as of mid-2026 (approximate). A Season 2 is announced but had not aired as of mid-2026.", + "mappings": [ + { + "episodes": [1, 3], + "chapters": [1, 5], + "arc": "First day / Meeting Shima (Vol. 1)" + }, + { + "episodes": [4, 6], + "chapters": [6, 11], + "arc": "New friends & the rainy season (Vol. 2)" + }, + { + "episodes": [7, 9], + "chapters": [12, 17], + "arc": "Student council & summer break (Vol. 3)" + }, + { + "episodes": [10, 12], + "chapters": [18, 23], + "arc": "The cultural festival (Vol. 4)" + }, + { + "chapters": [24, 29], + "arc": "Second half of freshman year / first love (Vol. 5, unadapted)" + }, + { + "chapters": [30, 78], + "arc": "Manga continues past the anime (unadapted, Vol. 6 onward)" + } + ] +} diff --git a/src/data/mappings/terra-formars.json b/src/data/mappings/terra-formars.json new file mode 100644 index 0000000..18ab248 --- /dev/null +++ b/src/data/mappings/terra-formars.json @@ -0,0 +1,36 @@ +{ + "anilistAnimeId": 20629, + "anilistMangaId": 67563, + "title": "Terra Formars", + "sourceNotes": "Manga ongoing (RELEASING; Yu Sasuga / Kenichi Tachibana, 2011-). AniList reports no fixed chapter total. The fandom wiki groups the story into the BUGS2 Arc (6 ch, the early Bugs 2 mission), the Annex 1 Arc (the main Mars mission, ch 1-173 in the restarted Weekly Young Jump numbering), and the ongoing Earth Arc (post-Mars, numbered separately as 'Number 1-58+'). Chapter numbers below follow the Annex 1 (main-series) numbering. Two TV seasons (Liden Films): S1 'Terra Formars' (13 eps, 2014) and S2 'Terra Formars: Revenge' (13 eps, 2016); episodes are CUMULATIVE, so Revenge eps 1-12 are listed as 14-26. The TV anime adapts the Annex 1 / Mars arc only: S1 covers ~ch 1-49 (briefing, departure, and the opening Mars battles), Revenge covers ~ch 50-108, ending on '12-Second Revolution' (ch 108). The BUGS2 prequel was adapted separately by the 'Bugs 2-hen' OVAs (id 20630) and the 2018 'Earth Arc' OVA covers later material; both are excluded here. Episode-to-chapter ranges are approximate.", + "mappings": [ + { + "episodes": [1, 7], + "chapters": [1, 25], + "arc": "Annex 1: Departure & First Contact (Mars mission begins)" + }, + { + "episodes": [8, 13], + "chapters": [26, 49], + "arc": "Annex 1: The Mars Landing Battles (S1 finale)" + }, + { + "episodes": [14, 20], + "chapters": [50, 80], + "arc": "Revenge: Betrayal & the Second Army" + }, + { + "episodes": [21, 26], + "chapters": [81, 108], + "arc": "Revenge: 12-Second Revolution (S2 finale)" + }, + { + "chapters": [109, 173], + "arc": "Annex 1: remainder (manga only)" + }, + { + "chapters": [174, 231], + "arc": "Earth Arc (manga only, ongoing — ~58 chapters numbered separately as 'Number 1+', continuing here from the Annex 1 total)" + } + ] +} diff --git a/src/data/mappings/to-your-eternity.json b/src/data/mappings/to-your-eternity.json new file mode 100644 index 0000000..8627700 --- /dev/null +++ b/src/data/mappings/to-your-eternity.json @@ -0,0 +1,27 @@ +{ + "anilistAnimeId": 114535, + "anilistMangaId": 97830, + "title": "To Your Eternity", + "sourceNotes": "Three TV seasons map to the now-complete manga (ended June 2025 at chapter 201 / 25 volumes; AniList's '202 chapters' counts split chapters). Cumulative episodes: S1 (id 114535, 20 eps) = eps 1-20; S2 (id 138565, 20 eps) = eps 21-40; S3 (id 162669, 22 eps) = eps 41-62. S1 adapts ch 1-54 (early Past Era through into Jananda Island). S2 adapts ch 55-116, finishing the Past Era at the close of the Renril/Nokker War. S3 adapts the Modern Era from ch 117 to roughly ch 165; the season endpoint is approximate (mid-160s). The Future Arc (ch ~166-201) is unadapted. No theatrical films ('The Roots of To Your Eternity' is a documentary special, not a movie).", + "mappings": [ + { + "episodes": [1, 20], + "chapters": [1, 54], + "arc": "Past Era: awakening & early lives (into Jananda Island)" + }, + { + "episodes": [21, 40], + "chapters": [55, 116], + "arc": "Jananda finale, Guardians & Renril / Nokker War" + }, + { + "episodes": [41, 62], + "chapters": [117, 165], + "arc": "Modern Era (New World & Mimori arcs)" + }, + { + "chapters": [166, 201], + "arc": "Future Arc & ending (unadapted)" + } + ] +} diff --git a/src/data/mappings/toilet-bound-hanako-kun.json b/src/data/mappings/toilet-bound-hanako-kun.json new file mode 100644 index 0000000..3104653 --- /dev/null +++ b/src/data/mappings/toilet-bound-hanako-kun.json @@ -0,0 +1,27 @@ +{ + "anilistAnimeId": 108463, + "anilistMangaId": 98842, + "title": "Toilet-bound Hanako-kun", + "sourceNotes": "Cumulative episodes: S1 id 108463 = eps 1-12 (2020), S2 id 170892 = eps 13-24 (2025 cour 1), S2 Part 2 id 189326 = eps 25-36 (2025 cour 2). Manga ongoing; latest released chapter (spook) 130 as of mid-2026 (extended hiatus after ch 130; ch 131 due ~July 2026). Note: S1 reordered arcs and SKIPPED the Three Clock Keepers arc (ch 23-29); S2 backfilled it first, so the S1/S2 chapter coverage overlaps around ch 23-36 rather than being a clean cut. S1 net coverage = ch 1-36; S2 (eps 13-36) = ch 23-92, ending mid-Far Shore Bound (~ch 92). Arc boundaries are fan-classified (Hanako-kun fandom wiki Story Arcs).", + "mappings": [ + { + "episodes": [1, 12], + "chapters": [1, 36], + "arc": "Season 1: Hanako-san / Misaki Stairs / Hell of Mirrors (Clock Keepers ch 23-29 skipped, backfilled in S2)" + }, + { + "episodes": [13, 24], + "chapters": [23, 58], + "arc": "Season 2 (cour 1): Three Clock Keepers / Summer Lights / Picture Perfect" + }, + { + "episodes": [25, 36], + "chapters": [59, 92], + "arc": "Season 2 Part 2 (cour 2): Sacrifice of the Grim Reaper / Red House / Far Shore Bound (ends mid-arc ~ch 92)" + }, + { + "chapters": [93, 130], + "arc": "Far Shore Bound conclusion / The Nightlife / Omen / Alteration (unadapted, ongoing)" + } + ] +} diff --git a/src/data/mappings/toriko.json b/src/data/mappings/toriko.json new file mode 100644 index 0000000..bfa9f10 --- /dev/null +++ b/src/data/mappings/toriko.json @@ -0,0 +1,76 @@ +{ + "anilistAnimeId": 10033, + "anilistMangaId": 37887, + "title": "Toriko", + "sourceNotes": "Single continuous 147-episode anime (2011-2014). The anime adapted the Human World portion of the manga but with substantial expansion, several anime-original interludes (e.g. the Golden Wheat / BB Corn detours and scattered filler episodes), and an anime-original ending: it stopped partway through the Cooking Festival arc (around chapter 230-253) and resolved with a non-canon battle instead of the manga's true Cooking Festival climax. Episode-to-chapter boundaries are therefore approximate; the per-arc cumulative episode ranges below are sensible groupings rather than exact frame-accurate cuts. Manga complete at 396 chapters; the entire Gourmet World Act (ch 264-396) and the back half of the Cooking Festival arc were never animated and are listed chapters-only. Refine boundaries via PR.", + "mappings": [ + { + "episodes": [1, 12], + "chapters": [1, 18], + "arc": "Introduction (Galala Gator / Rainbow Fruit / Puffer Whale)" + }, + { + "episodes": [13, 26], + "chapters": [19, 62], + "arc": "Regal Mammoth / BB Corn Arc" + }, + { + "episodes": [27, 50], + "chapters": [63, 100], + "arc": "Century Soup Arc" + }, + { + "episodes": [51, 78], + "chapters": [101, 143], + "arc": "Ozone Herb / Gourmet World Reality / Melk Stardust / Mellow Cola Arc" + }, + { + "episodes": [79, 110], + "chapters": [144, 193], + "arc": "Training for Gourmet World (Gourami / Meteor Garlic / Bubble Fruit)" + }, + { + "episodes": [111, 125], + "chapters": [194, 209], + "arc": "Four Beast Arc" + }, + { + "episodes": [126, 147], + "chapters": [210, 230], + "arc": "Cooking Festival Arc (anime-original ending)" + }, + { + "chapters": [231, 263], + "arc": "Cooking Festival Arc (manga conclusion, unadapted)" + }, + { + "chapters": [264, 271], + "arc": "Billion Bird Arc (Gourmet World)" + }, + { + "chapters": [272, 294], + "arc": "AIR Arc" + }, + { + "chapters": [295, 323], + "arc": "PAIR Arc" + }, + { + "chapters": [324, 368], + "arc": "ANOTHER Arc" + }, + { + "chapters": [369, 396], + "arc": "GOD Arc (Final Arc)" + } + ], + "movies": [ + { + "anilistId": 17699, + "title": "Toriko the Movie: Secret Recipe of Gourmet God!", + "year": 2013, + "afterEpisode": 110, + "note": "Anime-original side-story feature set between the anime's Golden Wheat and Four Beast arcs." + } + ] +} diff --git a/src/data/mappings/undead-unluck.json b/src/data/mappings/undead-unluck.json new file mode 100644 index 0000000..9cccf58 --- /dev/null +++ b/src/data/mappings/undead-unluck.json @@ -0,0 +1,34 @@ +{ + "anilistAnimeId": 154116, + "anilistMangaId": 114791, + "title": "Undead Unluck", + "sourceNotes": "Manga is COMPLETE at chapter 239 (ended 2025-01-27, 27 volumes) — AniList's '244 chapters' includes bonus/extra entries; canonical main-series count is 239. TV Season 1 = 24 episodes (eps 1-24), adapting chapters 1-53 (ending mid-Autumn Arc). A standalone 'Winter Arc' 1-hour special (aired 2025-12-25) adapts chapters 53-56; it is a bridging special, not a numbered TV episode, so it is not in the cumulative episode count here. Season 2 is announced but unreleased as of June 2026. Arc names are fan/wiki labels and within-arc episode boundaries are approximate (the anime compressed/reordered material). Everything from chapter 57 onward is unadapted.", + "mappings": [ + { "episodes": [1, 2], "chapters": [1, 3], "arc": "Intro" }, + { "episodes": [2, 4], "chapters": [4, 8], "arc": "Unchange" }, + { "episodes": [4, 9], "chapters": [9, 20], "arc": "Spoil" }, + { "episodes": [9, 13], "chapters": [21, 30], "arc": "Unrepair" }, + { "episodes": [13, 16], "chapters": [31, 36], "arc": "Unbelievable" }, + { + "episodes": [16, 24], + "chapters": [37, 53], + "arc": "Autumn (S1 ends mid-ch 53)" + }, + { "chapters": [53, 56], "arc": "Winter (adapted as 1-hour special)" }, + { "chapters": [57, 67], "arc": "Summer" }, + { "chapters": [68, 93], "arc": "Spring" }, + { "chapters": [94, 132], "arc": "Ragnarok" }, + { "chapters": [133, 144], "arc": "Union" }, + { "chapters": [145, 153], "arc": "Negator War" }, + { "chapters": [154, 160], "arc": "Unfeel" }, + { "chapters": [161, 167], "arc": "Untruth" }, + { "chapters": [168, 172], "arc": "Unmove" }, + { "chapters": [173, 183], "arc": "Sick" }, + { "chapters": [184, 190], "arc": "Unburn / Unjustice" }, + { "chapters": [191, 205], "arc": "Unstoppable / Language" }, + { + "chapters": [206, 239], + "arc": "Final arcs (Unchaste / Untouchable / Undead Unluck / finale)" + } + ] +} diff --git a/src/data/mappings/world-trigger.json b/src/data/mappings/world-trigger.json new file mode 100644 index 0000000..004cbc9 --- /dev/null +++ b/src/data/mappings/world-trigger.json @@ -0,0 +1,32 @@ +{ + "anilistAnimeId": 20729, + "anilistMangaId": 78151, + "title": "World Trigger", + "sourceNotes": "Cumulative episodes across three cours: Season 1 (2014-2016, 73 eps) + Season 2 (2021, eps 74-85) + Season 3 (2021-2022, eps 86-99) = 99 total. Season 1 contains an anime-original Fugitive Arc (eps 48-63) that adapts no manga chapters; it is omitted, producing a gap in episode numbering. Per the animefillerguide episode-to-chapter conversion: S1 reaches ~chapter 124, S2 adapts ~ch 120-160 (light recap overlap at its start), and S3 covers ~ch 160-196 with episode 99 ending near ch 196. Manga ongoing: latest published chapter 262 (June 2026). The Away / Expedition Selection Test arc (ch 197-262+) is unadapted and listed chapters-only. Arc boundaries within S1 span several arcs continuously and are approximate — refine via PR.", + "mappings": [ + { + "episodes": [1, 47], + "chapters": [1, 64], + "arc": "Introduction / Large-Scale Invasion (Aftokrator) Arc" + }, + { + "episodes": [64, 73], + "chapters": [65, 124], + "arc": "Large-Scale Invasion finale into B-Rank Wars (start)" + }, + { + "episodes": [74, 85], + "chapters": [125, 160], + "arc": "B-Rank Wars / Rank Wars Arc (Season 2)" + }, + { + "episodes": [86, 99], + "chapters": [161, 196], + "arc": "B-Rank Wars / Rank Wars Arc (Season 3 finale)" + }, + { + "chapters": [197, 262], + "arc": "Away / Expedition Selection Test Arc (ongoing, current ch 262)" + } + ] +} diff --git a/src/data/mappings/ya-boy-kongming.json b/src/data/mappings/ya-boy-kongming.json new file mode 100644 index 0000000..65525d7 --- /dev/null +++ b/src/data/mappings/ya-boy-kongming.json @@ -0,0 +1,36 @@ +{ + "anilistAnimeId": 141774, + "anilistMangaId": 123034, + "title": "Ya Boy Kongming!", + "sourceNotes": "The 12-episode TV anime (2022) adapts manga chapters 1-28 with no filler, ending after the Battle of 109 (AZALEA rivalry) where episode 12 closes out chapter 28; readers continue at chapter 29. Manga is ongoing (Comic Days / Kodansha); latest serialized chapter is ~167 as of mid-2026, with 25 tankobon volumes collected (Vol. 25, May 2026). Chapters 29-167 are the unadapted tail. The 'Road to Summer Sonia' film is a recap compilation of chapters 1-29 and is excluded. Arc names are the Fandom wiki's (labelled unofficial); chapter ranges for the anime-covered arcs (1-28) are wiki-confirmed, while post-anime arc ranges are interpolated from the volume-to-chapter table and are approximate (+/- 1-2 chapters).", + "mappings": [ + { + "episodes": [1, 2], + "chapters": [1, 4], + "arc": "Introduction / Lady's Ready Night (Kongming meets Eiko, becomes her tactician)" + }, + { + "episodes": [3, 6], + "chapters": [5, 16], + "arc": "Yoyogi Festival / MC Battle (recruiting and reigniting Kabe-Taijin)" + }, + { + "episodes": [7, 12], + "chapters": [17, 28], + "arc": "Battle of 109 (Eiko + Kabe-Taijin vs. AZALEA)" + }, + { + "chapters": [29, 46], + "arc": "Wakatsuki Siblings / Interlude (unadapted)" + }, + { + "chapters": [47, 90], + "arc": "Kyoto Festival / Fourth Kingdom (unadapted)" + }, + { "chapters": [91, 122], "arc": "Arabesque / Hospital (unadapted)" }, + { + "chapters": [123, 167], + "arc": "Summer Sonia / Solo Concert / Rock Battle Japan (unadapted, ongoing)" + } + ] +} diff --git a/src/data/mappings/your-lie-in-april.json b/src/data/mappings/your-lie-in-april.json new file mode 100644 index 0000000..0c755c1 --- /dev/null +++ b/src/data/mappings/your-lie-in-april.json @@ -0,0 +1,38 @@ +{ + "anilistAnimeId": 20665, + "anilistMangaId": 67707, + "title": "Your Lie in April", + "sourceNotes": "The 22-episode TV anime adapts the COMPLETE manga: 44 chapters across 11 volumes (4 chapters per volume), ending with chapter 44 'Spring Breeze'. Cadence is a clean ~2 chapters per episode (22 x 2 = 44), anchored by near-identical episode/chapter titles. Arc boundaries follow the manga's competition structure; the cumulative ranges are accurate but individual episode boundaries may shift by ~1 chapter where the anime expanded competition sequences. The only film is a 2016 live-action movie (excluded, not anime); the OVA 'Moments' is a childhood side-story (excluded).", + "mappings": [ + { + "episodes": [1, 4], + "chapters": [1, 8], + "arc": "Meeting Kaori / Kousei returns to piano" + }, + { + "episodes": [5, 6], + "chapters": [9, 12], + "arc": "Towa Hall violin competition / Gala" + }, + { + "episodes": [7, 11], + "chapters": [13, 22], + "arc": "East Japan Piano Competition (vs. Emi & Takeshi)" + }, + { + "episodes": [12, 16], + "chapters": [23, 32], + "arc": "Gala concert & relationship arc / Kaori's hospitalization" + }, + { + "episodes": [17, 18], + "chapters": [33, 36], + "arc": "School festival (four-hands with Nagi)" + }, + { + "episodes": [19, 22], + "chapters": [37, 44], + "arc": "Final performance & Kaori's death / letter" + } + ] +} diff --git a/src/data/mappings/yowamushi-pedal.json b/src/data/mappings/yowamushi-pedal.json new file mode 100644 index 0000000..1d2d59e --- /dev/null +++ b/src/data/mappings/yowamushi-pedal.json @@ -0,0 +1,43 @@ +{ + "anilistAnimeId": 18179, + "anilistMangaId": 53627, + "title": "Yowamushi Pedal", + "sourceNotes": "Cumulative episodes across S1 (38) + S2 Grande Road (24) + S3 New Generation (25) + S4 Glory Line (25) + S5 Limit Break (25) = 137 episodes. The five seasons cover RIDE.1-658, ending at the close of the 42nd (2nd-year) Summer Inter-High. Manga ongoing (~100 volumes / ~ch. 710 as of mid-2026); the entire Third Year Saga (ch. 659 onward) is unadapted. The manga decompresses heavily, so per-season chapter boundaries are approximate.", + "mappings": [ + { + "episodes": [1, 38], + "chapters": [1, 73], + "arc": "First Year Saga: Intro / 41st Inter-High Day 1" + }, + { + "episodes": [39, 62], + "chapters": [74, 181], + "arc": "41st Summer Inter-High Day 2-3 (Grande Road)" + }, + { + "episodes": [63, 87], + "chapters": [182, 266], + "arc": "Second Year Saga: 42nd Inter-High Begins (New Generation)" + }, + { + "episodes": [88, 112], + "chapters": [267, 471], + "arc": "42nd Summer Inter-High Day 1-3 Start (Glory Line)" + }, + { + "episodes": [113, 137], + "chapters": [472, 658], + "arc": "42nd Summer Inter-High Day 3 Conclusion (Limit Break)" + }, + { "chapters": [659, 710], "arc": "Third Year Saga (unadapted, ongoing)" } + ], + "movies": [ + { + "anilistId": 21114, + "title": "Yowamushi Pedal: The Movie", + "year": 2015, + "afterEpisode": 62, + "note": "Bridge film with manga-author-original content (the Kumamoto 'Country of Fire' Yamanami race on Mt. Aso), set after the 41st Inter-High between S2 and S3; no clean chapter span." + } + ] +}