(v0.7.0) New Text Engine, Better Folding

New Text Engine & Folding

  • Rebuilt the editor on TextKit 2. Layout and drawing now share the same geometry, eliminating the code-folding overlap bug where collapsing a large or deeply-nested section painted garbled text over the folded header.
  • Reworked code folding. Folds collapse cleanly to the last line — no leftover blank line, no stray fold chip through nested collapses.
  • Consistent line height for mixed Korean/Latin text, adaptive gutter width, and the minimap, all reimplemented on the new engine.
  • Leaner internals — the old TextKit 1 code paths were removed.

Faster Typing

  • Noticeably snappier typing. Per-keystroke work in the editor was profiled and trimmed across the board — even short documents used to accumulate small stalls on every key press.
  • Instant autocompletion popup. The command palette is pre-built at launch and stays resident between uses, so typing \ no longer pays a window round-trip to reopen it. While you narrow a command, it updates only what actually changed instead of rebuilding on every letter.
  • No more hitch when you resume typing. The outline and label lists are now parsed in the background — they used to rescan on the main thread right after each typing pause, exactly when you were about to type again — and the sidebar skips redrawing when nothing changed.
  • Smoother Korean input. Fixed an intermittent lag while composing Hangul (the delay mid-syllable as a character formed).
  • Internal caret diagnostics were removed from the keystroke path (still available behind a hidden preference for debugging).

AI Assistant

  • Renamed “AI Agent” → “AI Assistant” across the panel, tab, menus, and settings.
  • Refined look. The panel shares the editor’s background so the two feel like one workspace; replies sit in clean cards, and the input field has a rounded border.
  • File attachments. A new attach button adds files: text files (.tex, .bib, .cls, …) are inserted inline into your prompt, while images and PDFs are sent as real attachments to Claude, ChatGPT, and Gemini. Staged files show as removable chips.
  • Smoother streaming. Responses render in steady batches instead of stuttering as the message grows.
  • Auto-follow & “Jump to latest.” New content keeps the view pinned to the bottom while you’re there; a bottom-center button brings you back when you’ve scrolled up.
  • Errors as chat bubbles. API/network failures now appear inline as a distinct error bubble with a readable message, instead of a banner that scrolls away.
  • Faster to open with a long chat history — the transcript now renders lazily instead of building every past message up front.
  • Larger send/stop button.

Editor & Files

  • Fixed a scroll jump while typing in long documents — the viewport no longer lurches and snaps back on each keystroke.
  • Large pastes stay in sync. Pasting a big block now highlights the whole thing right away, and the scrollbar and minimap match the real document length — no more bottoming out while text remains below, blank regions in the lower minimap, or a one-time scroll jump after the paste settles.
  • Stable editor width across monitors. Moving the mouse to another display could flip the scrollbar between overlay and classic styles, changing the editor’s width and re-wrapping the whole document. The scrollbar now always overlays the text, so line wrapping stays put.
  • Find & Replace persists across tabs — mode (Find vs Replace) and search string carry over on tab switches, and each match flashes a find indicator (even when off-screen).
  • Redesigned minimap. The overview strip now draws a syntax-colored silhouette of your document — commands, comments, and math show in their editor colors. While typing it repaints only what changed, and full re-renders happen in the background, so the minimap never delays a keystroke even in very long files.
  • Comment toggle keeps the caret aligned with the inserted/removed %.
  • Save All (⌥⌘S) writes every open document at once.
  • Steadier terminal text. The built-in terminal now uses a fixed font size (matching the AI Assistant) instead of scaling with the editor’s font-size setting.
  • Tighter spacing between the sidebar / bottom-panel toggle icons.

Sessions

  • Your tabs survive a crash. The open-tab set is now saved as you work — on tab changes and whenever the app leaves the foreground — not just on quit, so an unexpected shutdown no longer loses your session.
  • Clear Session. A new File ▸ Clear Session command closes every tab and wipes the saved session, so the next launch starts fresh.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *