<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sl0ppi.git/pi-ext/last-prompt.ts, branch main</title>
<subtitle>a sl0p.foo repository</subtitle>
<id>https://git.sl0p.foo/sl0ppi.git/atom/pi-ext/last-prompt.ts?h=main</id>
<link rel='self' href='https://git.sl0p.foo/sl0ppi.git/atom/pi-ext/last-prompt.ts?h=main'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppi.git/'/>
<updated>2026-08-12T17:34:35Z</updated>
<entry>
<title>last-prompt: call it a turn, not a sl0peration</title>
<updated>2026-08-12T17:34:35Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-08-12T14:25:25Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppi.git/commit/?id=4a09a987fd88bbc79ad506d764f33ee0560ed781'/>
<id>urn:sha1:4a09a987fd88bbc79ad506d764f33ee0560ed781</id>
<content type='text'>
The counter increments once per user text block, so what it counts is
exactly a turn in the ordinary prompt -&gt; response sense. It also matches
the vocabulary pi already uses internally (turnBudget, maxTurns), so the
label no longer invents a word for a thing that has one.

"round" was the other candidate and is worse: it implies a symmetric game
with fixed phases, and it collides with the rounded-border language used
throughout these widgets. "prompt #N" is the most literal reading of the
counter, but it undersells the box -- the spinner and timer measure the
whole agent run, not just the prompt.

No layout change was needed. The label is 7 columns narrower, and the top
border derives its dash fill from visibleWidth(leftLabel) rather than any
hardcoded width, so the frame absorbs it.

The cross-reference in slop-tool-boxes.ts ships in 36e422b, whose hunk it
shares.
</content>
</entry>
<entry>
<title>chrome: drop side rails across boxes (zellij draws the pane border)</title>
<updated>2026-08-12T17:34:35Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-08-10T22:08:58Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppi.git/commit/?id=129749f0e62526831797ab2ea318a75dd0ce12b0'/>
<id>urn:sha1:129749f0e62526831797ab2ea318a75dd0ce12b0</id>
<content type='text'>
We run the agent inside a zellij fork that already draws a border around
the pane, so per-box verticals were redundant chrome. Body lines are now
indented into the box interior instead of railed, and the top/bottom
rules use straight end caps (a corner would curve toward a vertical that
is no longer there). Each file keeps the original glyphs documented so
the rounded box can be restored by flipping the cap constants back.

Backported from the installed set in ~/.pi/agent/extensions, which had
drifted ahead of this repo.
</content>
</entry>
<entry>
<title>last-prompt: replace scanline with palette pulse on border rails</title>
<updated>2026-08-12T17:34:35Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-07-22T18:00:54Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppi.git/commit/?id=124c36026ac4e0811d7c8a243963219a1415ac67'/>
<id>urn:sha1:124c36026ac4e0811d7c8a243963219a1415ac67</id>
<content type='text'>
Drop the sweeping scanline (looked janky) in favor of a smooth full-frame
border color pulse while running:
- interpolate truecolor RGB across a curated palette (amber/pink/violet/cyan),
  ~4s per cycle, since theme.fg() semantic tokens looked too steppy
- pulse only the border rails + prompt marker; the sl0peration label stays
  static accent so it reads clearly against the moving frame
- settles to a static accent border when idle
</content>
</entry>
<entry>
<title>last-prompt: reintroduce animated live duration + spinner + scanline</title>
<updated>2026-08-12T17:34:35Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-07-22T17:47:28Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppi.git/commit/?id=6238fda91c5134b21e153a9c6956130b2c098e20'/>
<id>urn:sha1:6238fda91c5134b21e153a9c6956130b2c098e20</id>
<content type='text'>
The original regression wasn't the timer itself but full-frame re-renders
recomputing every tool box from scratch. That's now fixed at the source
(slop-tool-boxes width-memoization), so a bounded animation timer is safe:
- runs ONLY during active runs (piggybacks pi's own streaming renders)
- drives frames via captured tui.requestRender() instead of setWidget/tick
- 10fps live elapsed timer + spinner in the top border
- subtle scanline sweep along the bottom border while running
</content>
</entry>
<entry>
<title>Initial commit: pi agent extensions</title>
<updated>2026-08-12T17:34:35Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-07-22T17:36:45Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppi.git/commit/?id=41e13354091125fc80fdbc6ff30fc25982f40bfd'/>
<id>urn:sha1:41e13354091125fc80fdbc6ff30fc25982f40bfd</id>
<content type='text'>
</content>
</entry>
</feed>
