lumbda/wasm
russell@unturf.com 78d836fd09
repl: auto-grow input textarea to fit pasted multi-line programs
Until now the input was pinned at rows="1" — paste a 40-line program
and you edited it through a one-line keyhole. autosizeInput() now sets
height to scrollHeight on every input event, history navigation, and
post-send clear. CSS min/max-height (1.5em / 30vh) clamp the bounds;
once the textarea hits 30vh it scrolls internally instead of pushing
the prompt-bar off screen.

Prompt sigil top-aligns (align-self: start + matching padding-top) so
the λ> stays on the first line of input instead of drifting to
vertical-center as the textarea grows.

Smoke-tested headless: 1-line stays 22px, 6-line grows to 97px, 40-line
caps at 216px (30vh of 720px) with scrollHeight 608 (internal scroll
engaged), send empties back to 22px. Zero page errors.
2026-06-15 07:47:29 -04:00
..
app playground streaming: typed messages, no \n bytes on the wire 2026-06-15 06:30:10 -04:00
asm asm streaming: recycle the 64 KB output buffer after each flush 2026-06-15 06:36:00 -04:00
c repl: portal save/resume — vault-backed tier checkpoints 2026-06-15 07:43:07 -04:00
dist-repl repl: auto-grow input textarea to fit pasted multi-line programs 2026-06-15 07:47:29 -04:00
python playground: stream tier output line-by-line during eval 2026-06-14 20:25:47 -04:00
repl repl: auto-grow input textarea to fit pasted multi-line programs 2026-06-15 07:47:29 -04:00
tests wasm asm: stream output line-by-line via new emit_chunk env import 2026-06-14 20:35:13 -04:00
Makefile repl: portal save/resume — vault-backed tier checkpoints 2026-06-15 07:43:07 -04:00