<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ida-tui.git/experiments/splash_place_count.py, branch main</title>
<subtitle>tui for headless ida</subtitle>
<id>https://git.sl0p.foo/ida-tui.git/atom/experiments/splash_place_count.py?h=main</id>
<link rel='self' href='https://git.sl0p.foo/ida-tui.git/atom/experiments/splash_place_count.py?h=main'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/ida-tui.git/'/>
<updated>2026-08-21T10:15:15Z</updated>
<entry>
<title>reformat: ruff format + import sort, mechanically (see ruff.toml)</title>
<updated>2026-08-21T10:15:15Z</updated>
<author>
<name>blasty</name>
<email>peter@haxx.in</email>
</author>
<published>2026-08-21T10:14:46Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/ida-tui.git/commit/?id=02d02417800184fb76cd0245cdaa94c437aa4081'/>
<id>urn:sha1:02d02417800184fb76cd0245cdaa94c437aa4081</id>
<content type='text'>
No behavior. Listed in .git-blame-ignore-revs (next commit).
</content>
</entry>
<entry>
<title>splash: give the logo a placement id so re-anchoring replaces, not stacks</title>
<updated>2026-08-21T10:08:42Z</updated>
<author>
<name>blasty</name>
<email>peter@haxx.in</email>
</author>
<published>2026-08-21T10:08:42Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/ida-tui.git/commit/?id=7a3b198a904da186cc2860df059b063db24282ea'/>
<id>urn:sha1:7a3b198a904da186cc2860df059b063db24282ea</id>
<content type='text'>
A kitty placement is identified by (image id, placement id); an a=p with no
p= key is anonymous and every one stacks another copy. The splash re-anchors
on every progress note (~5/s), so a 60s load ended with ~300 placements of an
RGBA logo alpha-compositing over each other -- soft edges creeping to solid,
and the terminal re-rendering all of them per frame.

Same pair every time (LOGO_PLACEMENT) = the terminal REPLACES the placement,
so re-anchoring is free and atomic. That is also why on_resize no longer
clear()s first (that showed a hole for a frame), and why a shrunk-to-nothing
region now drops the placement instead of leaving a stale one anchored.

tests/test_kittygfx.py pins the escapes (pure, stdlib);
experiments/splash_place_count.py counts what a real splash sends.
</content>
</entry>
</feed>
