Commit b339e1d
feat(tui): static themed familiar cards with procedural sigils (#26)
Replace the walking/blinking violet mascot with a static themed card so
every familiar — built-in or user-defined in ~/.coven/familiars.toml —
gets first-class visual identity in the welcome panel, F2 switcher, and
/agents detail view.
- familiar_theme: per-familiar palette + archetype. Built-ins get hand-
tuned colours (kitty=violet, nova=gold, cody=cyan, charm=pink,
sage=emerald, astra=indigo, echo=teal). User-defined entries get a
deterministic palette + sigil archetype hashed from their id so they
stay stable across sessions and machines.
- familiar_card: composes Compact/Standard/Large cards plus a mini-row
for the F2 switcher; four procedural sigil frames (crystal, hex,
rune, seal) host the emoji for any user-defined familiar.
- rustle: collapses RustlePose to Static | Loading{frame} and threads
the palette through every glyph builder. The only motion that
survives is the eye-spinner during stalled streaming.
- app: drops rustle_walk_*, rustle_temp_pose, rustle_pose_until,
rustle_next_blink; tick_rustle_pose is now a 4-line static/loading
toggle, and rustle_look_down is a no-op for the Tab callsite.
- render: welcome panel + F2 switcher route through familiar_card; the
hardcoded built-in emoji table is gone.
- agents_view: familiar-sourced agents show a Standard card above the
persona preview.
- docs/familiars.md: rewrites the glyph section to describe the new
static themed cards and procedural sigils.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 41de009 commit b339e1d
8 files changed
Lines changed: 996 additions & 427 deletions
File tree
- docs
- src-rust/crates/tui/src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
247 | 247 | | |
248 | 248 | | |
249 | 249 | | |
250 | | - | |
| 250 | + | |
251 | 251 | | |
252 | | - | |
| 252 | + | |
253 | 253 | | |
254 | | - | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
255 | 257 | | |
256 | | - | |
257 | | - | |
258 | | - | |
259 | | - | |
260 | | - | |
261 | | - | |
262 | | - | |
263 | | - | |
264 | | - | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
265 | 277 | | |
266 | | - | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
267 | 287 | | |
268 | 288 | | |
269 | 289 | | |
| |||
277 | 297 | | |
278 | 298 | | |
279 | 299 | | |
| 300 | + | |
| 301 | + | |
280 | 302 | | |
281 | 303 | | |
282 | 304 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
| 19 | + | |
18 | 20 | | |
19 | 21 | | |
20 | 22 | | |
| |||
1013 | 1015 | | |
1014 | 1016 | | |
1015 | 1017 | | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
| 1027 | + | |
| 1028 | + | |
| 1029 | + | |
| 1030 | + | |
| 1031 | + | |
| 1032 | + | |
1016 | 1033 | | |
1017 | 1034 | | |
1018 | 1035 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
772 | 772 | | |
773 | 773 | | |
774 | 774 | | |
775 | | - | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
776 | 778 | | |
777 | | - | |
778 | | - | |
779 | | - | |
780 | | - | |
781 | | - | |
782 | | - | |
783 | | - | |
784 | | - | |
785 | | - | |
786 | | - | |
787 | | - | |
788 | | - | |
789 | | - | |
790 | 779 | | |
791 | 780 | | |
792 | 781 | | |
| |||
1291 | 1280 | | |
1292 | 1281 | | |
1293 | 1282 | | |
1294 | | - | |
1295 | | - | |
1296 | | - | |
1297 | | - | |
1298 | | - | |
1299 | | - | |
1300 | | - | |
1301 | | - | |
1302 | | - | |
1303 | | - | |
| 1283 | + | |
1304 | 1284 | | |
1305 | 1285 | | |
1306 | 1286 | | |
| |||
1878 | 1858 | | |
1879 | 1859 | | |
1880 | 1860 | | |
1881 | | - | |
1882 | | - | |
| 1861 | + | |
| 1862 | + | |
| 1863 | + | |
| 1864 | + | |
| 1865 | + | |
1883 | 1866 | | |
1884 | | - | |
1885 | | - | |
1886 | | - | |
1887 | | - | |
1888 | | - | |
1889 | | - | |
1890 | | - | |
1891 | | - | |
1892 | | - | |
1893 | | - | |
1894 | | - | |
1895 | | - | |
1896 | | - | |
1897 | | - | |
1898 | | - | |
1899 | | - | |
1900 | | - | |
1901 | | - | |
1902 | | - | |
1903 | | - | |
1904 | | - | |
1905 | | - | |
1906 | | - | |
1907 | | - | |
1908 | | - | |
1909 | | - | |
1910 | | - | |
1911 | | - | |
1912 | | - | |
1913 | | - | |
1914 | | - | |
1915 | | - | |
1916 | | - | |
1917 | | - | |
1918 | | - | |
1919 | | - | |
1920 | | - | |
1921 | | - | |
1922 | | - | |
1923 | | - | |
1924 | | - | |
1925 | | - | |
1926 | | - | |
1927 | | - | |
1928 | | - | |
1929 | | - | |
1930 | | - | |
1931 | | - | |
1932 | | - | |
1933 | | - | |
1934 | | - | |
1935 | | - | |
1936 | | - | |
1937 | | - | |
1938 | | - | |
1939 | | - | |
1940 | | - | |
1941 | | - | |
1942 | | - | |
| 1867 | + | |
| 1868 | + | |
| 1869 | + | |
| 1870 | + | |
| 1871 | + | |
| 1872 | + | |
| 1873 | + | |
| 1874 | + | |
| 1875 | + | |
| 1876 | + | |
1943 | 1877 | | |
1944 | 1878 | | |
1945 | | - | |
1946 | | - | |
1947 | | - | |
1948 | | - | |
1949 | | - | |
1950 | | - | |
1951 | | - | |
| 1879 | + | |
| 1880 | + | |
| 1881 | + | |
1952 | 1882 | | |
1953 | 1883 | | |
1954 | 1884 | | |
| |||
0 commit comments