Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
ce4b2fd
KSN: add `blue-lock.json` arc mapping
codebend3r Jun 21, 2026
761ca5b
KSN: add `kurokos-basketball.json` arc mapping
codebend3r Jun 21, 2026
bb71ef0
KSN: add `ace-of-diamond.json` arc mapping
codebend3r Jun 21, 2026
adbc745
KSN: add `yowamushi-pedal.json` arc mapping
codebend3r Jun 21, 2026
2a0c8f6
KSN: add `chihayafuru.json` arc mapping
codebend3r Jun 21, 2026
81bdea9
KSN: add `blue-exorcist.json` arc mapping
codebend3r Jun 21, 2026
27f04b2
KSN: add `world-trigger.json` arc mapping
codebend3r Jun 21, 2026
a15a941
KSN: add `shaman-king-2021.json` arc mapping
codebend3r Jun 21, 2026
db663d9
KSN: add `katekyo-hitman-reborn.json` arc mapping
codebend3r Jun 21, 2026
39e3176
KSN: add `toriko.json` arc mapping
codebend3r Jun 21, 2026
8345ea5
KSN: add `hells-paradise.json` arc mapping
codebend3r Jun 21, 2026
f76cb8e
KSN: add `undead-unluck.json` arc mapping
codebend3r Jun 21, 2026
f8ab8f8
KSN: add `beelzebub.json` arc mapping
codebend3r Jun 21, 2026
cbff89e
KSN: add `nura-rise-of-the-yokai-clan.json` arc mapping
codebend3r Jun 21, 2026
af45231
KSN: add `toilet-bound-hanako-kun.json` arc mapping
codebend3r Jun 21, 2026
128b709
KSN: add `fist-of-the-north-star.json` arc mapping
codebend3r Jun 21, 2026
d98c21a
KSN: add `saint-seiya.json` arc mapping
codebend3r Jun 21, 2026
ad57626
KSN: add `dororo.json` arc mapping
codebend3r Jun 21, 2026
29c4a9f
KSN: add `claymore.json` arc mapping
codebend3r Jun 21, 2026
7c02072
KSN: add `black-lagoon.json` arc mapping
codebend3r Jun 21, 2026
34f2762
KSN: add `dorohedoro.json` arc mapping
codebend3r Jun 21, 2026
ac76158
KSN: add `gantz.json` arc mapping
codebend3r Jun 21, 2026
643913f
KSN: add `ajin.json` arc mapping
codebend3r Jun 21, 2026
9d24006
KSN: add `deadman-wonderland.json` arc mapping
codebend3r Jun 21, 2026
17f393f
KSN: add `btooom.json` arc mapping
codebend3r Jun 21, 2026
98c116e
KSN: add `banana-fish.json` arc mapping
codebend3r Jun 21, 2026
44f8dbb
KSN: add `drifters.json` arc mapping
codebend3r Jun 21, 2026
add338b
KSN: add `terra-formars.json` arc mapping
codebend3r Jun 21, 2026
c2dee7d
KSN: add `knights-of-sidonia.json` arc mapping
codebend3r Jun 21, 2026
26378b0
KSN: add `inuyashiki.json` arc mapping
codebend3r Jun 21, 2026
0932d55
KSN: add `horimiya.json` arc mapping
codebend3r Jun 21, 2026
2d5fe57
KSN: add `komi-cant-communicate.json` arc mapping
codebend3r Jun 21, 2026
ef11f68
KSN: add `my-dress-up-darling.json` arc mapping
codebend3r Jun 21, 2026
d468e57
KSN: add `nisekoi.json` arc mapping
codebend3r Jun 21, 2026
d05e187
KSN: add `ouran-high-school-host-club.json` arc mapping
codebend3r Jun 21, 2026
80cd569
KSN: add `your-lie-in-april.json` arc mapping
codebend3r Jun 21, 2026
a11780c
KSN: add `erased.json` arc mapping
codebend3r Jun 21, 2026
1034c68
KSN: add `skip-and-loafer.json` arc mapping
codebend3r Jun 21, 2026
7d1b6ca
KSN: add `blue-period.json` arc mapping
codebend3r Jun 21, 2026
fb0a00b
KSN: add `given.json` arc mapping
codebend3r Jun 21, 2026
2c06e7f
KSN: add `food-wars.json` arc mapping
codebend3r Jun 21, 2026
e243a5f
KSN: add `grand-blue.json` arc mapping
codebend3r Jun 21, 2026
eb2a36c
KSN: add `devil-is-a-part-timer.json` arc mapping
codebend3r Jun 21, 2026
4326855
KSN: add `ya-boy-kongming.json` arc mapping
codebend3r Jun 21, 2026
3ba79e2
KSN: add `cells-at-work.json` arc mapping
codebend3r Jun 21, 2026
05f9bbb
KSN: add `ancient-magus-bride.json` arc mapping
codebend3r Jun 21, 2026
01bfd9b
KSN: add `land-of-the-lustrous.json` arc mapping
codebend3r Jun 21, 2026
bfa0564
KSN: add `ranking-of-kings.json` arc mapping
codebend3r Jun 21, 2026
9f60010
KSN: add `to-your-eternity.json` arc mapping
codebend3r Jun 21, 2026
c1a5a91
KSN: add `call-of-the-night.json` arc mapping
codebend3r Jun 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 100 additions & 0 deletions src/data/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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 {
Expand Down
38 changes: 38 additions & 0 deletions src/data/mappings/ace-of-diamond.json
Original file line number Diff line number Diff line change
@@ -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)"
}
]
}
22 changes: 22 additions & 0 deletions src/data/mappings/ajin.json
Original file line number Diff line number Diff line change
@@ -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)"
}
]
}
22 changes: 22 additions & 0 deletions src/data/mappings/ancient-magus-bride.json
Original file line number Diff line number Diff line change
@@ -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)"
}
]
}
28 changes: 28 additions & 0 deletions src/data/mappings/banana-fish.json
Original file line number Diff line number Diff line change
@@ -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)"
}
]
}
37 changes: 37 additions & 0 deletions src/data/mappings/beelzebub.json
Original file line number Diff line number Diff line change
@@ -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)"
}
]
}
49 changes: 49 additions & 0 deletions src/data/mappings/black-lagoon.json
Original file line number Diff line number Diff line change
@@ -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)"
}
]
}
46 changes: 46 additions & 0 deletions src/data/mappings/blue-exorcist.json
Original file line number Diff line number Diff line change
@@ -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."
}
]
}
30 changes: 30 additions & 0 deletions src/data/mappings/blue-lock.json
Original file line number Diff line number Diff line change
@@ -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)."
}
]
}
Loading
Loading