Skip to content

0.2.0

Latest

Choose a tag to compare

@github-actions github-actions released this 22 Oct 22:28
1b07ef8

Added

  • Added Normal and PreWrap whitespace modes for text, with configurable tab widths.
  • Added allocation-traced benchmarks for element-tree traversal and retained text layout, including reproducible corpora and checked baselines.
  • Added a public Geom module with shared Pos, Size, and Bounds types for canvas and geometry APIs.

Changed

  • Represented views as structured trees with one stack-based depth-first walker, substantially reducing allocations while retaining operation-stream iteration and collection helpers.
  • Reworked text preparation, wrapping, and caching to reuse width-independent measurements across rebuilds and resize passes. Normal remains the default whitespace mode.
  • Removed the implicit scissor scope around each custom canvas to substantially reduce rendering overhead. Canvas callbacks must keep drawing within their supplied bounds; canvases still inherit clipping from overflow-clipped ancestors.
  • Moved the standard canvas callback and payload types from Renderer to Program; use Program.CanvasDraw and Geom.Bounds in application code.

Fixed

  • Preserved spaces, tabs, explicit line breaks, and trailing whitespace when text uses PreWrap.
  • Kept the newest text-measurement cache entries when the cache exceeds its size limit.
  • Made the controlled text-input configuration a proper public Widget.TextInputConfig type so package API extraction no longer references a private widget module.

Removed

  • Removed the low-level Paint and Renderer modules from the public package surface.

Install

tc: "https://github.com/obust/terrocotta/releases/download/0.2.0/Hhcsfh2yPhePMS7YrAkTkTvgrQEqzCVnPK7VeYJvMfwG.tar.zst"