aterm: draw the session identity card from form.geometry, and animate it in on form.motion #1255

Closed
opened 2026-08-26 02:49:31 +00:00 by coilyco-ops · 0 comments
Member

Part of #1245. Needs #1251 first.

The card

Color-only identity fails a colorblind operator, a grayscale screenshot, and every screen recording. The _session stage should print an identity card before it execs the child: name, role, seat, working directory, session id. That card is also the thing you scroll back to three hours later when you cannot remember what this window is.

The part worth insisting on

Do not hand-design the card's figure. form.geometry is already a drawing instruction, and the ten values across the roster are literal:

radial-spokes      radial-facets     stacked-rounds
interlocking-lines enclosing-arcs    nested-shells
graduated-column   extending-barrels clean-diagonal
soft-ovals

Generate the figure from that, plus motif for texture and emblem.emoji alongside the glyph. Every role gets its own card with no per-role art, and a role added upstream gets one for free.

Motion

form.motion ships nine distinct values across the ten personalities: spinning, settling, unfolding, pulling, bracing, scanning, glowing, titrating, severing. Every one is an animation brief that has never been animated.

Animate the card in under its own motion over roughly 400 ms, then hand the screen to the harness. Cheap ANSI, and it is the only moment aterm owns the window by itself. Respect a no-animation escape for recordings and CI.

aterm/session.go, aterm/overlay.go.

Part of #1245. Needs #1251 first. ## The card Color-only identity fails a colorblind operator, a grayscale screenshot, and every screen recording. The `_session` stage should print an identity card before it execs the child: name, role, seat, working directory, session id. That card is also the thing you scroll back to three hours later when you cannot remember what this window is. ## The part worth insisting on Do not hand-design the card's figure. `form.geometry` is already a drawing instruction, and the ten values across the roster are literal: ``` radial-spokes radial-facets stacked-rounds interlocking-lines enclosing-arcs nested-shells graduated-column extending-barrels clean-diagonal soft-ovals ``` Generate the figure from that, plus `motif` for texture and `emblem.emoji` alongside the glyph. Every role gets its own card with no per-role art, and a role added upstream gets one for free. ## Motion `form.motion` ships nine distinct values across the ten personalities: spinning, settling, unfolding, pulling, bracing, scanning, glowing, titrating, severing. Every one is an animation brief that has never been animated. Animate the card in under its own motion over roughly 400 ms, then hand the screen to the harness. Cheap ANSI, and it is the only moment aterm owns the window by itself. Respect a no-animation escape for recordings and CI. `aterm/session.go`, `aterm/overlay.go`.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/agentic-os#1255
No description provided.