Skip to content

v1.0.4 — UX cursor navigation fixes

Choose a tag to compare

@xezpeleta xezpeleta released this 26 Jun 21:56
0644fb2

Fixes

Mouse Click Position Correction

  • Added click-correction plugin that uses DOM-based position lookup (posAtDOM + character-level text node walk) instead of CM6's posAtCoords, which accumulates errors across block widgets
  • Prevents clicks from landing 2-4 lines away from the intended target

ArrowUp/Down Navigation

  • ArrowUp from document end (trailing empty line) correctly moves to end of previous line
  • After CM6 processes arrow keys, detects incorrect line placement and corrects it (CM6's moveVertically can't navigate through block widgets)
  • Table ArrowUp/Down handlers now scan up to 3 lines for adjacent table widgets (not just immediately adjacent lines)
  • estimatedHeight + coordsAt on TableWidget for proper height oracle tracking
  • Horizontal rules: Decoration.line + inline spacer widget (estimatedHeight: 49px) for accurate line height
  • Removed line-height: 1.45 from .idz-code-line (variable line-heights caused height oracle drift)

Other

  • Cleaned up unused CSS (removed .idz-hr-line, unused Vite boilerplate)
  • Bump to v1.0.4
  • 14 tests all passing