books-01-01 | resolved | early home-page reader pass | reader felt like a preview instead of the real surface | treat the homepage reader as the primary reading surface and keep iterating there |
books-01-02 | resolved | first books planning-doc pass | planning pages were too generic and not close to the XML structure | split planning into explicit page types with stable record fields |
books-01-03 | resolved | homepage embedded EPUB load | embedded reader auto-load threw META-INF/container.xml / missing-asset errors and the CTA only scrolled | defer mount to an explicit load action and use the direct EPUB URL in EpubViewer instead of a blob wrapper |
books-01-04 | resolved | EPUB packaging for reader images | generated EPUB pages referenced images/<uuid>.null or source paths for illustrations that were not actually packaged | rewrite available book images to local asset paths during EPUB generation and strip source image tags when the file is missing |
books-01-05 | resolved | upcoming book without manuscript pages | build:books logged a failed EPUB build for a book intentionally shown as coming soon | detect missing markdown sources early and skip EPUB packaging without treating it as a failure |
books-01-06 | resolved | front-page reader still using packaged EPUB URL | browser still requested /META-INF/container.xml after the packaging fix because the runtime path could still fall back to directory-style EPUB resolution | fetch the .epub archive as an ArrayBuffer in EpubViewer and hand those bytes directly to react-reader |
books-01-07 | resolved | homepage embed still diverged from the stable reader route | dedicated /books/<slug>/read rendered correctly while the front-page embed still failed to render consistently | stop treating the homepage as a second reader runtime and route readers from the front page into the dedicated reader page |
books-01-08 | resolved | dedicated reader header only exposed a back link and title | switching books from the active reading session required backing out to the index | move book switching into the read-page header and keep unavailable books visibly disabled |
books-01-09 | resolved | dedicated reader still felt like a narrow util shell on wide screens | widescreen reading did not use the available space and the TOC treatment looked flat | switch the reader to paginated spread-friendly rendering and restyle the TOC chrome and document typography |
books-01-10 | resolved | dedicated reader spread sat too close to the TOC toggle chrome | the first page felt cramped against the left-side controls | move the reader stage farther right in reader mode so the spread clears the toggle area |
books-01-11 | resolved | emitted EPUB pages did not fit the dedicated reader spread | lead images could jump to the next column, opening text disappeared from the first spread, and there were no visible bottom folios | emit each source page with a custom page wrapper, extracted lead image block, custom EPUB CSS, and footer folio metadata |
books-01-12 | resolved | first bottom-nav pass on the dedicated reader | the footer controls were too low-contrast and too low in the frame, while the old edge chevrons still remained active | raise and compress the footer strip, strengthen its contrast slightly, and hide the legacy side arrows in reader mode |
books-01-13 | resolved | manuscript structure still exposed raw page filenames | the EPUB treated every page file as a chapter, so TOC entries and visible titles were driven by page-<n> filenames instead of book structure | formalize chapter metadata and page conventions, then rebuild the EPUB around chapter opener entries plus content pages excluded from TOC |
books-01-14 | resolved | first structured EPUB build only showed chapter openers in the reader | epub-gen excludes excludeFromToc entries from the spine as well as the TOC, so story pages disappeared from actual reading order | override the OPF template so story pages stay in the spine while remaining absent from the TOC |
books-01-15 | resolved | first full structured EPUB still left blank companion pages beside some lead images | lead images were often still embedded at the start of the first paragraph, so the builder missed them as standalone figures and never switched into the split spread layout | lift leading inline images out of the opening paragraph during EPUB generation, then emit those pages with a split content layout so images and opening text can share the same spread when space allows |
books-01-16 | resolved | split spread treatment made the book feel worse once the source pages were viewed as authored paperback pages | the reader showed two pages at a time and the split image/text layout fought the expectation that each manuscript page owns one illustration slot | return the dedicated reader to single-page pagination and emit a fixed illustration frame for every page, using placeholder art when a page has no image |
books-01-17 | resolved | single-page mode and the built-in TOC still produced bad reading artifacts | hidden TOC items were visibly bleeding through the left side, while oversized image slots and larger type caused blank or near-empty spread locations | replace the built-in TOC with a custom collapsed panel, restore spreads only on wide screens, and shrink the emitted page shell so the image sits at the top and text starts immediately beneath it |
books-01-18 | resolved | some spread locations still showed a portrait lead image by itself with the prose delayed until the following location | stacked figure-then-body layout was still too rigid for taller lead images, even after the page shell was compacted | allow lead-image story pages to switch into an image-left text-right layout on wider spreads so the opening text starts immediately beside the figure |
books-01-19 | resolved | the temporary lead-image split made illustrated pages look inconsistent and gave real images different shapes than the placeholder frame | the split layout and contain fit preserved source proportions, but the user-facing result was a mix of portrait, wide, and placeholder shapes instead of one stable page rhythm | remove the split rule and force all illustrated pages into the same fixed image frame shape as the placeholder, using crop-first rendering for now |