Repository navigation
Conversation
…mes before any soft one, and a run past 64 KiB keeps its clusters' text
…chapters by spine idref
…rleaved trims and separated pairs against Chromium
…e keeps an image before the item it rewinds
…'s chapter, column width and root font size
…paragraph once with them
… spreads, band lines, cancellation and held widths across both drivers
…, and a pass decides from the first line that does
…build that rasterizes text on the GPU
…d or the previous word's start
…ss element boundaries and taking inline box edges as open and close tags
…, launched through one oracle entry that requires an English browser
…in windows that tile it on whole device rows
… pens raster them apart
… in its first viewport, the initial containing block
…f its strip and resolves a locator to the line it puts on the reading line
…dow's target line offset and each chapter's extent, and a scrolled session holds more live windows
…page before it lays the chapter's strip out
…, and each window's text is laid out around it when the window is read
…ards, its vertical chapters as strips and its other chapters a page a window
…in inside its container, as Chromium places a block cleared past adjoining floats
… icon, as Chromium shows it
…et, as CSS collapses adjoining margins
…tever its element, at its own size, empty or holding blocks
…the margins at the break are discarded, as Chromium fragments
…ct-fit and snapped to whole pixels like any inline image
… it afresh before every shot
… layout unit grid, as Chromium stores a used size
… measuring it no longer changes how the truth rasters it
… line in the max-content width, as Chromium measures it
… parent's x-height above the baseline, as Chromium places it
…es it back, painting, turning and answering layouts no more meanwhile
…a layout that numbers the windows anew, and can be moved before it is mounted
…d on the same reader, from where the pages were and back
…ing the book a second time
… selection, and holds the whole-book layout while a selection is made
…e page controller
…ction ends for a toolbar to stand over
…olbar, its colours, underline and note
… instead of an empty tooltip
…a resting mouse is on, the one drawn on top
…ows its tooltip under the mouse, as on a page
… the reader commits
…page keys move it
…enu, its selection items and a page of the strip back and on
…the deployed demo opens it
…ose tests run on it
…hrough paints with the canvas pen, as no GPU
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.
Scrolled reading, vertical-rl layout and the line layout of Chromium 156, with the reader app reading pages and scrolled on one reader.
spread: 'scrolled'lays each chapter out as one continuous strip read through viewport-sized windows (getScrollLayout(), a located page'sblockOffset), leftwards for an rtl book. Vertical-rl chapters are laid out in their writing mode: box edges and sizes, upright glyphs in their vertical forms withvhaltrimming,text-combine-upright,text-emphasis, vertical ruby and orthogonal inline boxes; their records are physical (reader protocol 9). Line breaking, closer trimming, ruby annotation space, inline-blocks as atomic inlines and block sizes follow Chromium 156.createScrollControllershows the windows end to end on one canvas, moved by replaceable physics, with selection, app highlights and their hit-testing (tap.highlight,highlightHover), a screen-reader mirror andpageLength. The page controller'ssuspend()/resume()hand one reader between the page view and a scroll view.useRitoScrollReader,useRitoScrollView(a page controller's book read scrolled on the same reader),useScrollSelectionHandlesandScrollSelectionHandles;useAnnotationsstarts from the records a controller already holds.RitoScrollReaderViewandRitoScrollReaderControllerfor scrolled reading, vertical layout from the shared engine.Local gates on 9f8c520: rust:check, wasm check + build + test, audit (no high), test:ci, release:pack-check, reader e2e (49 passed, 6 skipped), golden pixel and coverage, all green. Flutter's
flutter testlast ran at d476ddc; nothing incrates/,packages/rito,packages/rito-core-wasmorpackages/rito_flutterchanged since.Merging deploys the reader demo and opens the version PR; packages are published only when that PR is merged.