summaryrefslogtreecommitdiff
path: root/build.zig
Commit message (Collapse)AuthorAge
...
| | * posix portability: linux syscalls -> libc (std.c) in one shared path. All ↵Gabriel Schneider2026-08-01
| |/ |/| | | | | raw std.os.linux.* call sites converted with the errno-convention flip (libc returns -1 + thread-local errno, not -errno): open/close/read/write/rename in tty.zig, gui.zig, look.zig; harness too (snapshot.zig: getcwd/mkdir/chdir/fork+waitpid/getdents64->opendir-readdir, e2e_harness.zig: clock_gettime/write/close), so the parity suite itself is POSIX-portable. Per-OS branches kept only where platforms genuinely diverge: shellCwd in look.zig (linux /proc/<pid>/cwd readlink; darwin libproc proc_pidinfo PROC_PIDVNODEPATHINFO with a hand-declared extern; other POSIX degrades to null), bash path (/usr/bin/bash on linux, /bin/bash elsewhere), TIOCSWINSZ constant (absent from std.c.T on darwin). forkpty/execv/chdir externs were already libc and are portable (fork-safety preserved: absolute-path execv, no malloc between fork and exec, initial spawns before worker threads). build.zig: forward target/optimize to the ghostty dep for native/cross (web keeps its no-target fetch), disable ghostty simd for darwin cross-builds (apple_sdk needs xcrun; scalar fallback = web config), link libutil on the BSDs. Pinned ghostty needs two one-line zig-0.16 darwin fixes, applied in the zig-pkg cache and documented in build.zig. Verified: aarch64-macos + x86_64-macos + x86_64-freebsd cross-compiles green; linux native tty + gui + web green; snapshot suite 18/18 with goldens untouched. Out of scope: gui-on-macos needs Metal shaders (SDL GPU rejects our SPIR-V there).
| * tty: coalesce queued input events into one frame; tracy zones behind -DtracyGabriel Schneider2026-08-01
|/ | | | | | | | | | | | | | | | | | | The tty shell rendered (core.render + full vaxis repaint + tree-sitter re-highlight of the visible window) after EVERY event, so a wheel flick over a highlighted file was 150 re-parses and 150 terminal repaints; the gui shell drains the SDL queue before drawing and never had the issue. Now the tty loop applies every queued input event, then renders once (batch cap 64; pty output keeps a frame per chunk so progress paints and transient-state waits behave exactly as before). Measured with tracy on a 2400-line .zig scroll script: 150 highlightFileRange calls at 1.85ms mean -> 4; render pipeline total 730ms -> 64ms; 364 frames -> 39. Snap suite 18/18. Tracy: -Dtracy=<path-to-tracy-checkout> compiles TracyClient.cpp into the binary and turns src/tracy.zig zones live (default off, all no-ops). Sampling, callstacks, system tracing and the crash handler are disabled: tracy's symbol worker SIGSEGVs on this binary's debug info and its crash handler then parks every thread before the first frame. Capture: tracy-capture -o t.tracy; export: tracy-csvexport t.tracy.
* 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).
* 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 static linkingGabriel Schneider2026-08-01
|
* more treesitter grammarsGabriel Schneider2026-08-01
|
* stealing petsciinatorfull-prototypeGabriel Schneider2026-06-30
|
* merging the colors intoGabriel Schneider2026-06-30
|
* images? lolGabriel Schneider2026-06-30
|
* chinese vibes modal editingGabriel Schneider2026-06-30
|
* working in realtime better than expected lolGabriel Schneider2026-06-25
|
* ghostty setupGabriel Schneider2026-06-25
|
* day-00: basic mouse and showing cwd relative fsGabriel Schneider2026-06-25