Thank you for always using Textvas.

New Features & Improvements
- Added two-finger pan support on the board canvas. It does not interfere even when used at the same time as pinch zoom.
- Improved the behavior of pinch zoom so that it scales based on the midpoint between the two fingers. Previously the zoom origin was the top-left, which sometimes caused the area you were focusing on to drift off-screen.
- You can now change the UI size with a two-finger pinch on the sidebar. It is linked to the UI Size setting and operates separately from the board-side pinch (board zoom).
- Changed the resize handles shown when an image is selected to a filled-circle design, making the selected card easier to recognize.
- Drag & drop now accepts .md / .markdown / .csv / .tsv / .log / .json / .xml / .yaml / .yml / .ini / .conf files. The loaded contents are placed as text cards.
- Changed the file-drag overlay text to “Drop file to open,” a simpler wording that fits file types other than .txv as well.
- Switched the progress bar to a GPU-compositor-driven CSS animation. Even if the main thread is blocked while loading a heavy file, the bar keeps moving.
- Card creation is now split into batches of 30 via requestAnimationFrame. The UI does not freeze, and the progress bar keeps moving smoothly.
- Added IntersectionObserver-based lazy loading for image cards. Off-screen images are not decoded at initial load and are loaded the moment you scroll near them.
Bug Fixes
- Fixed an issue where simply clicking the label-edit function on a card connector line would display the unsaved marker (the * in the title bar).
- Fixed an issue where text on card connector lines was rendered with a generic font instead of following the global font selected in settings.
- Fixed an issue where background patterns (horizontal lines / grid / dots) would moiré or break depending on the board zoom level. They are now drawn at a constant visual size regardless of zoom level.
- Fixed an issue where, when trying to pan (move) the board with one finger, a card under your finger would be unintentionally moved. The behavior is now organized into a two-step operation: tap to select a card, then drag the selected card to move it intentionally.
- Fixed an issue where, when the UI Size was set to anything other than 100%, board zoom via Ctrl+wheel or two-finger pinch could not scale around the cursor or finger position and the coordinates drifted.
- Fixed an issue where a gray border would momentarily flash at the position of image cards when switching board tabs.
- Fixed the hide timing of the loading overlay so that it is delayed until just after the last card is added to the DOM. Previously it could disappear too early.
- Fixed an issue where launching via a .txv file association would mix the initial page with the loaded file. It no longer recurs even when multiple instances are launched.
- .Fixed an issue where the arrows connecting cards were not shown in the exported image when exporting the board as an image.
We will continue working to improve Textvas.