You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,7 @@ Guidance for any code agent working on the Architect repo. Keep this file instru
12
12
## Coding Conventions
13
13
- Favor self-documenting code; keep comments minimal and meaningful.
14
14
- Default to ASCII unless the file already uses non-ASCII.
15
+
- Always handle errors explicitly: propagate, recover, or log; do not swallow errors with bare `catch {}` / `catch unreachable` unless proven impossible.
15
16
- Run `zig fmt src/` (or `zig fmt` on touched Zig files) before wrapping up changes.
16
17
- Avoid destructive git commands and do not revert user changes.
Copy file name to clipboardExpand all lines: README.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@
6
6
7
7

8
8
9
-
A Zig terminal multiplexer that displays 9 interactive terminal sessions in a 3×3 grid with smooth expand/collapse animations. Built on ghostty-vt for terminal emulation and SDL3 for rendering.
9
+
A Zig terminal multiplexer that displays a configurable grid of interactive terminal sessions (default 3×3) with smooth expand/collapse animations. Built on ghostty-vt for terminal emulation and SDL3 for rendering.
10
10
11
11
> [!WARNING]
12
12
> **This project is in early stages of development. Use at your own risk.**
- Install all required dependencies (SDL3, SDL3_ttf)
74
-
- Create Architect.app with bundled fonts and icon
74
+
- Create Architect.app with the application icon (fonts are resolved from your system based on `config.toml`)
75
75
- After copying to /Applications, launch from Spotlight or: `open -a Architect`
76
76
77
77
### Build from Source
@@ -80,7 +80,7 @@ See [Setup](#setup) section below for building from source.
80
80
81
81
## Features
82
82
83
-
-**3×3 Terminal Grid**: Run 9 independent shell sessions simultaneously
83
+
-**Configurable Grid**: Run multiple independent shell sessions; defaults to 3×3 but rows/cols are configurable (1–12) in `config.toml`
84
84
-**Smooth Animations**: Click any terminal to smoothly expand it to full screen
85
85
-**Full-Window Scaling**: Each terminal is sized for the full window and scaled down in grid view
86
86
-**Resizable Window**: Dynamically resize the window with automatic terminal and PTY resizing
@@ -376,7 +376,7 @@ Architect integrates with AI coding assistants through a Unix domain socket prot
376
376
-**Per-shell env**: Each spawned shell receives `ARCHITECT_SESSION_ID` (0‑based grid index) and `ARCHITECT_NOTIFY_SOCK` (socket path) so tools inside the terminal can send status.
377
377
-**Protocol**: Send a single-line JSON object to the socket:
378
378
-`{"session":0,"state":"start"}` clears the highlight and marks the session as running.
379
-
-`{"session":0,"state":"awaiting_approval"}` turns on a pulsing yellow border in the 3×3 grid (request).
379
+
-`{"session":0,"state":"awaiting_approval"}` turns on a pulsing yellow border in the grid (request).
380
380
-`{"session":0,"state":"done"}` shows a solid green border in the grid (completion).
381
381
382
382
**Example from inside a terminal session:**
@@ -599,7 +599,7 @@ Download the latest release from the [releases page](https://github.com/forketyf
599
599
## Architecture
600
600
601
601
### Terminal Scaling
602
-
Each terminal session is initialized with full-window dimensions (calculated from font metrics). In grid view, these full-sized terminals are scaled down to 1/3 and rendered into grid cells, providing a "zoomed out" view of complete terminal sessions.
602
+
Each terminal session is initialized with full-window dimensions (calculated from font metrics). In grid view, these full-sized terminals are scaled down to the current grid cell size, providing a "zoomed out" view of complete terminal sessions regardless of the configured rows/cols.
603
603
604
604
### Animation System
605
605
The application uses cubic ease-in-out interpolation to smoothly transition between grid and full-screen views over 300ms. Six view modes (Grid, Expanding, Full, Collapsing, PanningLeft, PanningRight) manage the animation state, including horizontal panning for terminal switching.
@@ -613,7 +613,7 @@ The application uses cubic ease-in-out interpolation to smoothly transition betw
613
613
## Implementation Status
614
614
615
615
✅ **Fully Implemented**:
616
-
-3×3 grid layout with 9 terminal sessions
616
+
-Configurable grid layout (defaults to 3×3) with per-cell terminal sessions
617
617
- PTY management and shell spawning
618
618
- Real-time terminal I/O
619
619
- SDL3 window and event loop with resizable window support
@@ -636,7 +636,7 @@ The application uses cubic ease-in-out interpolation to smoothly transition betw
636
636
637
637
The following features are not yet fully implemented:
638
638
-**Emoji coverage is macOS-only**: Apple Color Emoji fallback is used; other platforms may still show tofu or monochrome glyphs for emoji and complex ZWJ sequences.
639
-
-**Limited font distribution**: Only the bundled font family ships with the app today
639
+
-**Fonts must exist locally**: Architect relies on system-installed fonts; ensure your configured family is available on the host OS.
640
640
-**Limited configurability**: Keybindings are hardcoded
0 commit comments