Skip to content

dancinlab/void

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16,066 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

License: MIT Based on Ghostty Platform Renderer Zig + Swift Branch Discord

⬑ Void β€” AI-native Terminal

Grid-mode first. AI-native I/O. Perf-first. Based on Ghostty.

    β”Œβ”€β”€β”€β”€ Grid ────┐       β”Œβ”€β”€β”€β”€ Agent ────┐       β”Œβ”€β”€β”€β”€ Perf ────┐
    β”‚  N Γ— M panes β”‚  ⇄   β”‚  PTY + tool   β”‚  ⇄   β”‚  SIMD parser β”‚
    β”‚  auto-layout β”‚       β”‚  structured   β”‚       β”‚  Metal/OpenGLβ”‚
    β”‚  per-cell cwdβ”‚       β”‚  token stream β”‚       β”‚  Ξ” vs ghosttyβ”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β–²                   β–²                      β–²
               └────── three non-negotiable directions β”€β”€β”€β”˜

Void is a hard fork of Ghostty rebuilt around three directions the upstream is not taking: grid mode as a first-class tiling surface (not a plugin), AI-agent I/O baked into the terminal layer alongside PTY, and a perf budget tracked on every PR. Zig shared core, native Swift on macOS, GTK on Linux.

πŸŽ₯ YouTube Β· πŸ’¬ Discord Β· πŸ“¬ Email Β· β˜• Ko-fi Β· πŸ’– Sponsor Β· πŸ’³ PayPal Β· πŸ—ΊοΈ Atlas Β· πŸ“„ Papers

Main projects

🧠 Anima β€” Consciousness implementation. PureField repulsion-field engine + 1030 laws + Ξ¦ ratchet.

πŸ”­ NEXUS β€” Universal Discovery Engine. 216 lenses + OUROBOROS evolution + 5-phase singularity cycle.

πŸ—οΈ N6 Architecture β€” Architecture from perfect number 6. 225 AI techniques + chip design + crypto/OS/display.

πŸ’Ž HEXA-LANG β€” The Perfect Number Programming Language. Working compiler + REPL.

πŸ“„ Papers β€” Complete paper collection (92 papers, Zenodo DOIs).

Other projects β†’

πŸ’¬ Community

Join our Discord

Live research discussion, paper drops, stage-gate reviews, cross-project dispatch.


Highlights

⬑ Ghostty-grade performance β€” SIMD parser, per-terminal render/read/write threads, Metal on macOS, OpenGL on Linux
β–¦ Grid mode β€” NΓ—M pane grid as a core surface, auto-layout (cols = ⌈√NβŒ‰, rows = ⌈N/colsβŒ‰), per-cell cwd
πŸ€– AI-native I/O β€” agent protocol alongside PTY; structured tool-call / token-stream channels, no wrapper
⚑ Perf budget β€” every PR reports Ξ” against the Ghostty baseline; β‰₯ 2 % regression blocks merge
🎨 Native UI β€” SwiftUI on macOS (AppIntents, Shortcuts), GTK on Linux (systemd, cgroup isolation)
β¬’ need-singularity branding β€” hexagonal icon, n = 6 family (NEXUS Β· Anima Β· N6 Β· HEXA Β· Void)

Three non-negotiable directions

Void is not a drop-in Ghostty replacement. It will diverge in UX, and upstream syncs are selective cherry-picks only.

1. Grid mode β€” first-class tiling surface

   cells = N                              cells auto-layout
   ──────────────────────────────         cols = ⌈√NβŒ‰   rows = ⌈N/colsβŒ‰
   N = 2  β†’  2 Γ— 1                        cols β‰₯ rows (wider before taller)
   N = 4  β†’  2 Γ— 2
   N = 6  β†’  3 Γ— 2                        β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”
   N = 9  β†’  3 Γ— 3                        β”‚  1   β”‚  2   β”‚  3   β”‚
                                          β”‚ ~/p  β”‚ ~/w  β”‚ ~/l  β”‚
   on add/remove: whole grid              β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€
   re-balances to equal splits            β”‚  4   β”‚  5   β”‚  6   β”‚
   (no manual resize handles)             β”‚ ~/r  β”‚ ~/s  β”‚ ~/t  β”‚
                                          β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”˜

NΓ—M pane grid as a core surface concept β€” not a window-manager bolt-on. Auto-grid: when cell count N changes, the layout re-balances to cols Γ— rows with cols = ⌈√NβŒ‰, rows = ⌈N/colsβŒ‰, cols β‰₯ rows. Per-cell cwd / env. Shared renderer. New renderer path (not a patch on the single-surface renderer). MVP ships as N=2 horizontal split, then generalizes to NΓ—M.

2. AI-native I/O

   shell process     β”Œβ”€β”€β”€β”€ PTY ────────▢  traditional byte stream
        β”‚            β”‚
        β–Ό            β”œβ”€β”€β”€β”€ AGENT ──────▢  structured tool-call events
   libvoid layer ─────                    token stream w/ boundaries
        β–²            └──── META ───────▢  cwd, exit-code, span marks
        β”‚
   agent process      (no wrapper process required)

Running an agent does not require a wrapper. The terminal layer itself speaks both PTY and a structured channel β€” tool calls, token stream boundaries, and result spans are first-class, not heuristic-parsed from stdout.

3. Perf-first

Speed, memory, GPU time, and syscall budgets are a tracked first-class concern. Every PR reports delta against the Ghostty baseline. Regressions β‰₯ 2 % block merge.

           Ghostty baseline              Void target
   parse:  SIMD AVX2/NEON         β†’      + tool-call fast path
   render: Metal / OpenGL         β†’      + grid batch reuse
   memory: arena + screen rings   β†’      + per-cell allocator
   sys:    read/write/render thr. β†’      + agent-channel thread

Architecture

       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
       β”‚            macOS App (Swift)             β”‚
       β”‚    SwiftUI Β· AppIntents Β· CoreText       β”‚
       β”‚        Metal renderer Β· native menu      β”‚
       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                      β”‚
       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
       β”‚          libvoid (Zig) β€” core            β”‚
       β”‚   parser Β· terminal state Β· renderer     β”‚
       β”‚   grid engine Β· agent I/O channel        β”‚
       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                      β”‚
       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
       β”‚            Linux App (GTK)               β”‚
       β”‚      systemd Β· OpenGL Β· FreeType         β”‚
       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Zig-based shared core with platform-native shells. Core is C-ABI-compatible so it can be embedded in third-party projects (Ghostty's libghostty pattern β€” renamed to libvoid in this fork).

Install

# 1. Install hexa-lang (gives you `hexa` + `hx` package manager)
curl -fsSL https://raw.githubusercontent.com/need-singularity/hexa-lang/main/install.sh | bash

# 2. Install void
hx install void

Or build from source β€” see HACKING.md. Default branch on the fork is void/main, not main.

Run

void                   # launch terminal
void +show-config      # print active config
void +list-keybinds    # list keybindings
void +crash-report     # list crash reports

Keybindings (default, Phase 1)

Keys Action
cmd+g toggle grid mode ↔ tab mode
cmd+ctrl+1..9 spawn new tab in grid slot 1..9 (stacks β€” repeated presses add tabs to the same slot)
cmd+ctrl+shift+1..9 cycle tabs within grid slot
cmd+ctrl+0 broadcast input to all cells
cmd+opt+return find next (relocated from cmd+g)
cmd+shift+opt+return find previous (relocated from cmd+shift+g)
cmd+t / cmd+n new tab / new window
cmd+d / cmd+shift+d split pane right / down
cmd+, open settings

All keys are rebindable via config β€” nothing is hardcoded.

Fork status

Upstream ghostty-org/ghostty β€” cherry-picks only, no merges
Fork date 2026-04-21 (from upstream commit c3c8572f7)
Default branch void/main
L3 rename complete β€” 4698 files renamed Ghostty β†’ Void at commit 964c9e32e
CI .github/workflows/build-fork.yml on GitHub-hosted macos-15 runners (ad-hoc codesign)
Icon hexagonal, need-singularity n = 6 family

See VOID_FORK.md for the full fork rationale, non-goals, and upstream policy.

Roadmap

Checkpoints (done):

# Milestone Date
C0 project-init β€” hexa scaffold 2026-04-21
C1 fork-base β€” Ghostty β†’ Void rebrand 2026-04-21

Phases:

# Phase ETA Status
P1 Grid mode + new-tab keybinding β€” auto-grid, slot-spawn, mode toggle 2026-04-28 πŸ› 
P2 Stack analysis β€” map void renderer/apprt/terminal/font internals 2026-05-05 ⬜
P3 AI-native I/O protocol β€” structured agent channel alongside PTY β€” ⬜
P4 Perf baseline β€” capture benches, set void regression budgets β€” ⬜
P5 Diverge / upstream strategy β€” decide what feeds back vs stays void β€” ⬜

Current state (P1): toggle_grid_mode action and cmd+g keybind wired at commit 326e5f15. Surface rendering, auto-layout, and slot-spawn land in the rest of P1 β€” MVP is N=2 horizontal split, then generalizes to NΓ—M.

Non-goals

  • Not a drop-in Ghostty replacement β€” Void will diverge in UX.
  • Not a shell β€” Void drives shells, it does not replace them.

Crash reports

Void inherits Ghostty's crash reporter. Reports are saved to $XDG_STATE_HOME/void/crash (default ~/.local/state/void/crash) and are not sent off your machine. Use void +crash-report to list. Reports use the Sentry envelope format with extension .voidcrash.

Warning

Crash reports contain full stack memory per thread at the time of the crash and can include sensitive data.

Contributing

Credits

Void is a hard fork of Ghostty by Mitchell Hashimoto and the Ghostty team. All Ghostty contributors are credited in upstream history, which is preserved in this repo. Divergent features (grid mode, AI-native I/O, perf harness) are Void-only.

Links

πŸ—ΊοΈ Atlas Β· πŸ“„ Papers Β· Ghostty docs Β· Contributing Β· Developing Β· Fork rationale


⬑ Terminal as substrate. Grid as primitive. · Based on Ghostty · need-singularity

About

πŸ•³οΈ VOID β€” Terminal emulator written in hexa-lang.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors