summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| | * | layout: every pane open/close resizes exactly ONE sibling — never the ↵Gabriel Schneider2026-08-01
| | |/ | | | | | | | | | whole column. Buggy paths fixed: Alt-n inserted a weight-1 shell (whole column reflowed) — now splitBelow the active pane; stackDocLeft (file/image/tutor open with no doc yet) gave the doc a fair share (every pane shrank) — now it halves only the old top pane's slot; ttyForDir (execute from a file pane) appended a weight-1 shell to the rightmost column — now splitBelow its bottom pane; Alt-c moved a pane out without absorbVWeight (all old siblings grew) — now the sibling above absorbs first. Underneath: splitBelow/absorbVWeight/stackDocLeft snap the whole column's weights to on-screen row counts, because computeGeom's per-pane round(avail*w/vsum) let fractional weights jiggle bystanders by a row; evictLonePristineTty recomputes geometry first (a just-stacked doc has no rect). New snap tests layout-open + layout-close cover Alt-n, doc stacking, ttyForDir, Alt-c, tag Del, pty EOF, and column-width handoff. Six goldens regenerated (fileedit, images, look-file, syntax, tutor, windowops): they had frozen the fair-share/append reflow this change removes; every diff is only the doc/split pane sizing, with untouched panes' boundaries restored bit-identical (e.g. bottom pane tag back at its boot row 17 instead of pushed to 22).
| * / fix drag-select release crash: the 64-slot effect ring overflowed when one ↵Gabriel Schneider2026-08-01
| |/ | | | | | | update emitted a big selection exec (emitWrite 64-byte chunks + padOutputBelowEdits CRs) and the emit assert panicked. Effects queue is now a growable ArrayList FIFO (payloads stay inline values); guard the two other Buf(256) asserts reachable from look (spawn cwd >256 -> error.PathTooLong in newShell, >256-char url skipped). New snap exec-bigdrag: giant middle-drag exec on a 60x200 grid, panicked before, alive-marker golden after.
* / tty shell: leave the terminal clean on every exit path. Root causes: ↵Gabriel Schneider2026-08-01
|/ | | | vaxis.Tty.init makes the tty raw but run() never called tty.deinit (termios stayed raw -> no echo, staircased output in the spawner shell); the pty reader tasks were never joined (Kill-quit hung the exit in the runtime thread-join with readers blocked in read(2), and finished readers dumped DebugAllocator leak traces onto the tty). Fix: defer tty.deinit() (runs last, after vx.deinit flushes its resets); cancel each pty reader at teardown (cancel interrupts the blocked read) then close masters and drain the loop queue (queued pty_read/paste bytes are gpa-owned); await the reader on pty_eof before closing; readPty posts its eof via tryPostEvent so a post-cancel full queue can't re-block; root panic handler wraps vaxis.recover() so a panic restores cooked mode/main screen/mouse before the trace prints (vaxis.Panic itself is stale: references std.debug.FormattedPanic which 0.16 dropped). Verified with a scripted pty harness (bash spawner, DSR replies): both quit paths (exit-EOF of last pane, middle-click Kill) end with rmcup+cursor+sgr+mouse-off and identical stty -a before/after, no leak spew, prompt back in 0.5s; snap suite 18/18.
* pardes v2: the rewrite, complete and organized. src/ (core + three shells), ↵Gabriel Schneider2026-08-01
| | | | test/ (snapshot parity harness + 18 frozen goldens). One sans-IO core, vaxis tty + SDL3 GPU native + wasm web shells, 18/18 parity with the purged prototype, 7.6k lines vs 12.1k. Fix: gui shell pre-sized the core at init so the greet-releasing resize never fired (blank panes until first interaction); live sessions now init at defaults and get the real grid as a resize event (the shell contract, documented on Options).
* sdl: ui_sdl rework (380+ lines) + replay changesGabriel Schneider2026-08-01
|
* touch debug overlay: multi-touch circles with trails, finger event handling, ↵Gabriel Schneider2026-08-01
| | | | 4x larger, fade trails, SDL GPU + WebGL overlay shaders, touch-action:none in HTML, --debug-overlay flag, pinch event dispatch for all SDL backends
* sdl: main + ui_sdl rework, build.zig updatesGabriel Schneider2026-08-01
|
* improving layoutGabriel Schneider2026-08-01
|
* performance passGabriel Schneider2026-08-01
|
* fixing mouse drag on webGabriel Schneider2026-08-01
|
* fixed scaling and fitting on web uiGabriel Schneider2026-08-01
|
* patched font to maplemonoGabriel Schneider2026-08-01
|
* separated all ts grammars vs a small set of themGabriel Schneider2026-08-01
|
* wasm replay uiGabriel Schneider2026-08-01
|
* storage and replayGabriel Schneider2026-08-01
|
* sdl ui backendGabriel Schneider2026-08-01
|
* added middle+left mouse chordGabriel Schneider2026-08-01
|
* removed ctrl-cGabriel Schneider2026-08-01
|
* added static linkingGabriel Schneider2026-08-01
|
* tests: add 41 lines of test casesGabriel Schneider2026-08-01
|
* more treesitter grammarsGabriel Schneider2026-08-01
|
* tagline is editable nowGabriel Schneider2026-08-01
|
* sdl: main tweaks + testsGabriel Schneider2026-08-01
|
* sdl: main + tests additionsGabriel Schneider2026-08-01
|
* more heuristics for layout splittingGabriel Schneider2026-07-01
|
* changed some draggable stylingGabriel Schneider2026-07-01
|
* added yank and tty scrolling w keyboardGabriel Schneider2026-07-01
|
* stealing petsciinatorfull-prototypeGabriel Schneider2026-06-30
|
* minor fixesGabriel Schneider2026-06-30
|
* merging the colors intoGabriel Schneider2026-06-30
|
* images? lolGabriel Schneider2026-06-30
|
* vibes cleaning slopGabriel Schneider2026-06-30
|
* chinese vibes modal editingGabriel Schneider2026-06-30
|
* vibe file panes nowGabriel Schneider2026-06-30
|
* vibes adding some acme swag to the ttyGabriel Schneider2026-06-29
|
* vibes acme-like text editing?Gabriel Schneider2026-06-29
|
* vibes tagline and commands?Gabriel Schneider2026-06-29
|
* vibes layout and multiple terminalsGabriel Schneider2026-06-29
|
* mouse selection handlingGabriel Schneider2026-06-29
|
* resizing handlertermGabriel Schneider2026-06-29
|
* scrollbarGabriel Schneider2026-06-29
|
* working in realtime better than expected lolGabriel Schneider2026-06-25
|
* basic pty -> ghostty -> vaxis pathGabriel Schneider2026-06-25
|
* clean versionGabriel Schneider2026-06-25
|
* ghostty setupGabriel Schneider2026-06-25
|
* day-00: basic mouse and showing cwd relative fsGabriel Schneider2026-06-25