Decisions

Compact decision records for the books section.

Decisions

IdStatusSummaryConsequence
BOOKS-DOCS-PLANNING-FIRSTacceptedbooks docs expose planning pages before general implementation docssection users hit active planning context first
BOOKS-HOMEPAGE-READER-FIRSTsupersededhomepage reader was treated as the main reading surface, not a teaserreplaced by the dedicated reader route as the canonical runtime
BOOKS-HOMEPAGE-READER-LAZY-MOUNTsupersededhomepage reader mounted only when the user explicitly asked for itreplaced by the homepage launch-surface approach
BOOKS-HOMEPAGE-READER-BYTE-LOADacceptedembedded reader should load the .epub archive into memory before mounting react-readerruntime behavior does not depend on browser MIME handling or URL-style EPUB fallback
BOOKS-HOMEPAGE-LAUNCHPADacceptedhomepage is the launch surface for books and routes into /books/<slug>/read for the stable sessionthe dedicated reader page is the canonical live reading runtime
BOOKS-DEDICATED-READER-BOOK-SWITCHERacceptedactive reading sessions should expose book switching in the read-page headerreaders can move between available books without leaving the reader route
BOOKS-DEDICATED-READER-SPREADSacceptedwide screens should use paginated two-page spreads when the viewport allows itthe reading surface can feel like an opened book as long as each emitted page shell stays compact enough to fit
BOOKS-DEDICATED-READER-TOC-STYLINGacceptedTOC chrome and in-book TOC typography should feel designed, not defaultnavigation surfaces should look intentional even before content-specific polish
BOOKS-DEDICATED-READER-STAGE-CLEARANCEacceptedthe spread needs extra left clearance from the TOC toggle chrome in reader modereading pages should not feel pinned under the hamburger button
BOOKS-DEDICATED-READER-BOTTOM-NAVaccepteddedicated reader navigation should live in a compact bottom strip with section title and page movement controlsreading navigation stays accessible without adding louder chrome to the header or page edges
BOOKS-DEDICATED-READER-CUSTOM-TOCacceptedthe dedicated reader should use a custom collapsed contents panel instead of the built-in react-reader TOC chromethe menu stays fully hidden until opened and no hidden TOC text bleeds into the reading stage
BOOKS-LEAD-IMAGE-PAGES-CAN-SPLITsupersededon wider spreads, a lead-image story page can lay out with the figure on the left and the opening text beside itreplaced by the stricter single frame-shape rule for all illustrated pages
BOOKS-IMAGE-FRAME-SHAPE-IS-FIXEDacceptedevery illustrated page should use the same fixed frame shape as the placeholder slot, even if the image needs to cropart presentation stays visually consistent and the page shell does not change shape based on source aspect ratio
BOOKS-MANUSCRIPT-STRUCTURE-FIRSTacceptedbooks should be authored as structured manuscripts with chapter metadata and content pages, not as filename-driven display titlesthe builder must derive paperback-style output from formal source structure instead of exposing raw page filenames
BOOKS-STORY-PAGES-STAY-IN-SPINEacceptedstory pages can be hidden from the TOC but must stay in the EPUB spineTOC cleanup must never remove the actual reading order from the built book
BOOKS-EMIT-PAGE-SHELLSacceptedEPUB generation should emit custom page wrappers with lead-image placement and bottom foliosthe dedicated reader can treat source files like intentional printed pages instead of raw chapter fragments
BOOKS-LEAD-IMAGES-LIFT-OUT-OF-PARAGRAPHSsupersededbuilder should treat a leading inline image in the first paragraph as the page lead figurereplaced by the simpler fixed illustration slot rule for each authored page
BOOKS-DEDICATED-READER-SINGLE-PAGEsupersededthe dedicated reader should always render one visible page at a time, even on wide screensreplaced by the compact-page-shell spread approach for wide screens
BOOKS-PAGE-IMAGE-SLOT-REQUIREDacceptedevery emitted page should reserve a fixed illustration slot before the text body, falling back to placeholder art when no page image existspage rhythm stays consistent across the manuscript and missing art does not collapse the layout
BOOKS-MISSING-IMAGE-REFS-DO-NOT-SHIPacceptedEPUB generation must strip book image refs when the source illustration file is missingreader editions prefer missing art over broken asset errors
BOOKS-REPO-SOURCE-OF-TRUTHacceptedauthored books under books/<slug>/ remain the publishing source of truthupdates must follow the repo content pipeline, not manual copies

Decision Rule

FieldValue
id-shapeuppercase section key plus short decision name
status-setaccepted, superseded, proposed