Repository navigation
zago v1.4.1
Usability, rendering, and interaction release introducing full ANSI SGR 1006 terminal mouse support, directional topology overhaul for Table Cell Detection with CJK wide-character awareness, unified Editor LOGO headless execution, and WebAssembly frontend rendering upgrades.
Added
- Full Terminal Mouse Interaction (ANSI SGR 1006):
- Added native mouse interaction across Text Mode, Canvas Mode, Table Mode, Directory Mode, Dialogs, Top Menu Bar, and WebAssembly.
- Implemented continuous edge auto-scrolling with a two-tier edge-holding acceleration system (60ms boundary rows, 30ms outside window).
- Implemented decoupled mouse wheel scrolling with terminal hardware cursor off-screen parking and keyboard snapback.
- Added
set mouse on/offconfiguration in.zagorcand--mouse/--no-mouseCLI arguments. - Added official Mouse Interaction Specification.
- WebAssembly & Web Terminal Frontend Upgrades (
zago-web):- Integrated
@xterm/addon-unicode11to standardize CJK and punctuation character widths. - Integrated hardware-accelerated
@xterm/addon-webglwith fallback to@xterm/addon-canvasto enforce cell grid clipping and prevent glyph overflow. - Added persistent
CacheStoragecaching with HTTP ETag validation for instant WASM streaming loads. - Made virtual key bar always visible across all viewport sizes for tablet and mobile touch support.
- Added full English / Traditional Chinese UI localization and automated Playwright integration smoke tests.
- Integrated
Changed
- Editor LOGO & Headless Mode Alignment:
- Removed deprecated
APPENDandPREPENDprimitives in favor of standardTYPE,PRINT,NEWLINE, and line formatting. - Unified headless CLI output (
zago -sandzago -e) with the live editor buffer (Editor.headlessOutput()), ensuring box drawings and canvas marks match final buffer state.
- Removed deprecated
- Table Cell Detection & Topological Directionality:
- Added directional boundary character sets (
leftBoundaryChars,rightBoundaryChars,topBoundaryChars,bottomBoundaryChars) with strict corner exclusion rules. - Required strictly continuous horizontal borders without space gaps to prevent false-positive spanning across separated boxes.
- Required genuine bottom boundaries in downward scanning, preventing broken intermediate rows from being substituted as cell frames.
- Calculated boundaries using visual terminal columns (
TextMetrics.visualColumn) rather than logical character offsets to correctly handle 2-column wide CJK characters. - Updated Table Cell Detector Architecture.
- Added directional boundary character sets (
Fixed
- Table Mode & Detection:
- Fixed false-positive cell detection when the cursor is placed in whitespace gaps between disconnected boxes.
- Fixed Table Mode cursor navigation and border alignment when editing cells with CJK full-width characters.
- Web Terminal:
- Fixed CJK corner bracket width rendering in the web terminal by adopting Unicode 11 and WebGL rendering.
- Keymap Hints:
- Prioritized
Ctrl+ZandCtrl+Shift+Zin menu bar shortcut hints.
- Prioritized