You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.