feat(books): plant 心經 and 源氏物語 as the third and fourth books#10
Open
cubxxw wants to merge 1 commit into
Open
Conversation
Adds two full `Book` records — biography timeline, reader rings, and one
cultivated reading chapter each — using the existing types from
`src/books/types.ts`. Registers them on the shelf and turns the 源氏物語
ghost in `comingSoon` into a live spine.
- **心經** (`src/books/xinjing.ts`) — 般若 shelf, `/book/xinjing`. 十节传记
从般若类经典的印度成型,到罗什 402、玄奘 649 定本、怀仁集王羲之字、
敦煌抄经生、Conze 1948 校梵本、铃木俊隆 1959 定为禅心早课、Jan Nattier
1992 的「汉文伪经?」philological reversal (rendered as the `special`
variant box) 、一行禅师 2014 重译、到 2026 的 today node. Reading
chapter: 玄奘定本全篇 (开经四句 / 色空互即 / 六根六尘 / 心无罣碍 /
揭谛咒), each with 罗什 vs 玄奘 vs 现代读者的地层.
- **源氏物語** (`src/books/genji.ts`) — 物語 shelf, `/book/genji`. 十二节
从 1008 藤原道长调笑, 平安绘卷, 定家青表纸本 vs 河内本 (the two-recension
fork rendered as the `special` box) , 本居宣长「物哀」, 江户源氏香,
Waley 1925 六卷英译, 谷崎润一郎, やまと和纪《浅梦》十四年, Royall Tyler
2001, 2008 千年纪. Reading chapter: 第一帖桐壺 opening three sentences
with 定家校本、Waley 英译、宣长物哀、やまと和纪、雲隠留白 各层.
The two books share the reader-ring cast (沈一苇 / 周菡 / 陈拾) already
established on the diamondSutra rings, so a reader's line can be followed
across books later without a name migration.
`comingSoon` in `src/books/registry.ts` drops `genji`; `lunyu`, `zhuangzi`,
and `meditations` remain as honest 待种下 ghosts.
## Test plan
- [x] `npm run build` (tsc -b + vite build) passes; 46 modules, no type errors
- [ ] Reviewer: check `/book/xinjing` and `/book/genji` biography timelines
reveal on scroll and the `special` variant-comparison boxes render on
the 1992 (Nattier) and 1255 (河内本) nodes
- [ ] Reviewer: check `/book/xinjing/read` and `/book/genji/read` — time
slider covers the min→max span, strata layers unlock at their years
This was referenced Jul 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Plants two new books on the shelf alongside 道德經 and 金剛經, using the existing
Bookshape insrc/books/types.ts— no schema changes, no new components, no routing changes. The currentmain(with the PR #1 金剛經 merge) already gave us everything needed:Bookshelf,BookDetail,Reading,theme.css,Header,useNightMode, and aBooktype rich enough to carry biography + reading strata.src/books/xinjing.ts) — 般若 shelf,/book/xinjingspecialvariant-comparison box: 代代相传的说法 vs 那体慧的文献学证据) · 一行禅师 2014 重译 · 2026 todaysrc/books/genji.ts) — 物語 shelf,/book/genjispecialbox: 青表纸本 vs 河内本) · 本居宣长「物哀」 · 江户源氏香 · Waley 1925 六卷英译 · 谷崎润一郎三度重译 · やまと和纪《浅梦》十四年 · Royall Tyler 2001 · 2008 千年纪 · 2026 todaycomingSooninsrc/books/registry.tsdrops thegenjighost (now planted);lunyu,zhuangzi,meditationsremain as honest 待种下 ghosts.The two books share the reader-ring cast (沈一苇 / 周菡 / 陈拾) already established on 金剛經's rings, so a reader's line can be followed across books later without a name migration.
Why this instead of PRs #3–#8
PRs #3, #4, #5, #6, #7, #8 each attempted a version of "add a second/third book" between mid-July and the design-handoff era, but were all authored before PR #1 (金剛經) merged into
main. The 金剛經 merge crystallizedsrc/books/types.ts(withShelfEntry+BioNode+BioRing+ReadingChapter+StrataLayer+CompareSpan), addedsrc/pages/Bookshelf,BookDetail,Reading,theme.css, and a sharedHeader+useNightMode. That's exactly the surface those six PRs were trying to build from scratch — each with a different, incompatibleBookshape and a different landing/detail page name.Concretely, on today's
main:src/books.tsflat file + refactored MyTree): superseded —src/books/directory +Booktype already there.src/Bookshelf.tsxcard grid +src/BookGenji.tsx+src/GenjiReader.tsx): superseded —src/pages/Bookshelf.tsxis already the shared 千年书架 timeline, and its "count of 137 layers" copy would violate the design's "no counts anywhere" rule.src/books/types.ts+src/Bookshelf.tsx): superseded — itstypes.tshas been replaced by a richer schema on main; its shelf design has been replaced bysrc/pages/Bookshelf.tsx.src/BookBio.tsx+ a thirdtypes.ts): superseded bysrc/pages/BookDetail.tsx. Content salvaged: this PR's Nattier-1992 timeline node is the anchor ofxinjing.ts's bio.src/Genji.tsx+ duplicatetheme.css): superseded —theme.cssalready exists on main; the hard-coded component wouldn't scale. Content salvaged: all twelve of this PR's biography nodes (1008 藤原道長, 青表纸本 vs 河内本, 本居宣长, 谷崎, やまと和纪, Royall Tyler, 千年纪) form the spine ofgenji.ts's bio; the three reader rings are lifted verbatim.types.ts+ hard-codedsrc/BookPage.tsxfor 金刚经): 金剛經 was merged from PR Add 金剛經 (Diamond Sutra) as a fully-implemented themed book #1's implementation instead. This PR would double-add the same book.Rather than rebase each PR onto a schema that no longer needs them, this PR harvests the two truly valuable pieces (心经 content from #6, 源氏物语 content from #7) and expresses them in main's existing shape.
I recommend closing #3, #4, #5, #6, #7, #8 with a link back here — @cubxxw. Happy to do that once this lands.
Test plan
npm run build(tsc -b + vite build) — 46 modules transformed, no type errors, 226 KB JS / 20 KB CSS/— confirm the 千年书架 axis now shows four live spines (道德經 -400 · 金剛經 200 · 心經 649 · 源氏物語 1008) and three ghost planks (論語 / 莊子 / Meditations)/book/xinjing— biography reveals on scroll; the 1992 (Nattier) node renders thespecialcomparison box; the today node shows three reader rings/book/genji— same, with 1255 (河内本) as the fork node/book/xinjing/readand/book/genji/read— time slider covers the min→max span, sentence-strata drawers unlock at their years