0x4200.cafe
pardes/tutor.html

Tutor

                     PARDES — a quick tutor
                 tmux + helix + acme, from scratch.

 The acme model: EVERYTHING is text — editable and
 executable the same way. A pane is a live terminal, a file,
 an image or a PDF; most of them are text you move a cursor
 over. Helix-style modal editing sits on top.

 THREE MODES — one character in the box at the pane's
 top-left corner:
   (blank) NORMAL  keys move and edit.
      ^    INSERT  keys type at the cursor.
      $    TTY     keys go to the shell. (terminals only)

 A bare `pardes` opens one shell already in TTY — there is
 nothing to edit yet. Give it a file or a directory and you
 start in NORMAL.

 ── THE MOUSE (acme) ──────────────────────────────
   L  select   also focuses the pane + pins the cursor.
   M  execute  run a builtin or send text to the shell.
   R  look     open a path, including a :line suffix.

 Middle-drag selects and executes. Or select with v / x,
 then Tab = execute or Enter = look.

 Held-button chords:
   1-2  hold L, tap M: cut into the yank register.
   1-3  hold L, tap R: paste the register.
   2-1  hold M, tap L: execute with the L selection
        as the command's argument.

 ── WEB TOUCH — one finger does both jobs ─────────
   tap   LOOK, exactly like R.
   drag  natural scroll after a small movement threshold.

 Crossing the threshold commits to scrolling, so releasing
 never also LOOKs. The published build has no host filesystem
 or ptys: LOOK opens URLs or read-only Pardes .zig sources
 selected by Git and embedded when the web build was made.
 The launcher is a real Pardes TTY dump captured after running
 git ls-files '*.zig'. Every listed path opens, and opened source
 panes use tree-sitter syntax colors. Try tapping build.zig.
 A touch beginning on a tagline or near a pane separator instead
 becomes a left-mouse layout gesture and never scrolls. The touch
 circles/trails and click flash are visible only with Debug on.

 ── THE TTY — a terminal is just a pane ───────────
 Native terminal panes take the same modal keys as files.
 Outside TTY the prompts are stripped, but the command you
 typed at each one stays — that is the part worth reading.
 Ctrl-b toggles the live shell and lands its cursor where you
 navigated. Esc from a body in normal mode hops to the pane
 you were in before this one, so held down it alternates
 between two. Web terminal panes replay recorded state only.

 ── THE KEYS (helix-style) ────────────────────────
   move    h j k l   w b e   0 $ ^   gg ge   f F t T
   count   a leading number: 3l, 2fo, 3>
   insert  i a   I A   o O
   select  x line-first (grows down)   v chars   % all
   cursors s / S cut a selection into many by regex, live
           as you type; C copies one down; , keeps one
   edit    d delete  c change  y yank  p paste  R replace
           J join   > < indent   ~ case   Ctrl-c comment
   pairs   mi( ma" ms) md{ mm — textobjects and surrounds
   step    ]p [p paragraph   ]d [d diagnostic
   act     Enter look   Tab execute   u undo   U redo
   filter  | pipes every selection through /bin/sh -c
   panes   Ctrl-w h/j/k/l   Alt-n term   Alt-c column
   leader  SPC ? lists every builtin and the keys for it

 A motion SELECTS what it crosses. That is why there is no
 verb+noun grammar — `wd` is what vim spells `dw` — and why
 `i` after `w` types at the start of what `w` just selected.
 Bare `G` does nothing; `ge` goes to the last line.

 vs Helix: selection is LINE-first (x); `/` is a plain
           substring search and the regex lives on s and S.
 vs Vim:   no dw — the motion already made the selection.

 Spawn the full in-app tutor: middle-click "Tutor" up top.