Skip to content

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 11 Sep 19:48
· 22 commits to main since this release
Release v1.2.0

API CHANGE
- ComboBox: `editable:` removed; a "(custom...)" row in the list replaces it.

FEATURES
- TextInput accepts multi-line String values (metrics, geometry, authoring).
- Cut-content marker: where text is clipped, a marker on that edge says so,
  in all four text widgets, with WCAG-derived contrast over any palette.
- VirtualMatrix sizes rows and columns to their content.

BUGFIXES
- Label placement rewritten as ONE rule: a ruler number, a row header and a
  value naming the same line sit on it; vertical centring is back for
  combined cells; content in rows and groups larger than the viewport stays
  on screen instead of centring below the fold; a group leaving never stalls
  at an edge; both edges move a label at the same rate. (~20 field reports.)
- Clipping escaped the widget: a clip is the target view's scissor, not a
  glScissor we issue.
- The sticky tail must be DESCENDING; an ascending header block silently
  yielded zero sticky lines.
- Caret handling in cells bigger than the viewport: Enter did nothing, the
  caret was not followed, and one survived leaving the editor.
- Scrolling repainted cells nobody can see: 31 -> 55 fps in the matrix demo.

CLEANUP
- Three placement mechanisms became one unconditional expression (no
  thresholds, no branch per edge, no row-vs-span distinction); the rulers
  became ordinary lines.
- docs/PLACEMENT_CASES.md: 26 cases with origin and guard, plus a regime
  matrix naming what is still unguarded.

KNOWN COST
- Placement costs ~6 ms per scroll frame in the 1400x900 demo (63 fps
  against 102 without it). Idle unchanged. Three reduction attempts were
  measured; none paid.