Skip to content

v1.3.0

Choose a tag to compare

@Macawls Macawls released this 12 Apr 20:28
· 4 commits to main since this release

Layout Engine Fixes

Text overflow in column-direction flex containers

determineFlexBaseSize and determineCrossSize in the flexbox engine passed the main-axis size as maxWidth to the text measure function. In column layouts (main axis = height), text received the container height as its width constraint and never wrapped. Fixed by swapping Measure() arguments when isRow is false.

Containers grow to fit content height

Containers without explicit CSS height now shrink to fit their content. Previously, computeNode() set Layout.Height from availableHeight and never updated it after children were laid out. Now recalculates from line cross sizes (row) or item main sizes (column) after layout completes.

Performance

sRGB lookup tables for gradient rendering

Replaced per-pixel math.Pow calls in gradient interpolation with precomputed lookup tables — 256-entry decode table and 4096-entry encode table (32KB, fits L1 cache). Eliminates millions of transcendental function calls per gradient render.

Docs & Site

  • Updated design goals to emphasize output quality over raw benchmarks
  • Added comparison tool commands to AGENTS.md
  • Cache busting for example images via Astro asset pipeline
  • Dark mode default, emoji card layout fixes

Full Changelog: v1.2.0...v1.3.0