Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
uzor-typeset — typographic composition + slicing engine for uzor
(Arc 4).
A scene of [Block]s is composed (flow layout through
[RegionSequence]s) and then sliced into pages | slides | frames — a
deck is a slicing target, not a sibling engine
(nemo/docs/uzor-engines/uzor_typeset_arc4_design.md §1). This crate
owns composition and slicing only: it does not shape glyphs (that's
uzor-text), does not compute scales/marks (uzor-figures), does not
rasterize or assemble files (uzor-export), and holds no
editing/selection/domain state.
This crate currently implements Phase P0 + Phase P1 + Phase P2 +
Phase P3 + Phase P4 of the design doc: the scene model's flow-unit
(scene::Block/BlockNode/BlockId, Paragraph/Spacer from P0
plus Figure/Image/Table/List from P1), the region abstraction
(region::{Region, RegionSequence, PageRegionSequence, FixedRegionSequence, CardRegionSequence}), keep/break-aware compose
(compose::compose, compose::BreakControl), page slicing with
header/footer/page-number (slice::{PageMaster, slice_pages},
master::page_master), masters/placeholders (master::{SlideMaster, SlideLayout, PlaceholderKind, PlaceholderSlot, SlideInstance}), style
resolution (style::{PropertyState, Theme}), slide slicing (P3) —
fluid card mode + fixed PowerPoint-viewport mode, both over ONE content
model (slice::{Card, Slide, slice_cards, slice_slides, cards_to_slides, slides_to_cards, slice_slide_instance, SlideOverflow, SliceError}),
painted via render::{draw_card, draw_slide} — and, this phase (P4),
frames/build-steps + morph: slice::{BuildStep, BlockOverride, ComposedFrame, slice_build_steps} slices a slide's content into a
sequence of build steps, and kinetics::{build_frame_morph, FrameMorph, FrameBlockState} identity-matches two ADJACENT steps by BlockId
(author-assigned or structural fallback), delegating a matched
equal-text Paragraph pair wholesale to uzor_text::kinetics for
glyph-level interpolation, painted via render::draw_frame_state.
Also implements Phase P5 (PDF assembly, export::pdf_adapter:: pages_to_pdf) plus a later feature pass building real multi-column
pages (region::ColumnRegionSequence/region::PageRegionSequence:: with_columns, master::PageMaster::with_columns, slice::Page:: extra_frames) and anchored islands — images anchored in the flow with
text running beside them in a side strip (scene::{AnchoredIsland, IslandAnchor}, Block::Island) — and closes the ImagePainter paint
gap for real (Block::Image/Block::Island composite real pixels
through RenderContext::image_painter() now, dashed-magenta
placeholder as a documented fallback only). See this crate's
CLAUDE.md for exactly what each phase/pass built vs. deferred, and
where its implementation diverges from the design doc's own
pseudocode.