This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+3 more
Summary
AI summaryBroad release touches Bug Fixes, Refactoring, Styling, and Miscellaneous.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Low |
Adds cargo workspace scaffold for ascii‑agents v1. Adds cargo workspace scaffold for ascii‑agents v1. Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Feature | Low |
Introduces AgentEvent, SceneState, and Reducer with hook‑wins deduplication. Introduces AgentEvent, SceneState, and Reducer with hook‑wins deduplication. Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Feature | Low |
Adds ratatui TUI renderer supporting half‑block sprites and per‑agent recoloring. Adds ratatui TUI renderer supporting half‑block sprites and per‑agent recoloring. Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Feature | Low |
Implements sprite engine with parser, pack loader, animator, and half‑block blit. Implements sprite engine with parser, pack loader, animator, and half‑block blit. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Feature | Low |
Adds hook and JSONL event decoders for Claude Code integration. Adds hook and JSONL event decoders for Claude Code integration. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Feature | Low |
Introduces HookSocketListener, JsonlWatcher, and ClaudeCodeSource components. Introduces HookSocketListener, JsonlWatcher, and ClaudeCodeSource components. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Feature | Low |
Defines Renderer trait with TestRenderer and end‑to‑end scene timeline test. Defines Renderer trait with TestRenderer and end‑to‑end scene timeline test. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Feature | Low |
Provides clap CLI scaffold wired to tokio runtime. Provides clap CLI scaffold wired to tokio runtime. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Feature | Low |
Implements install/uninstall hooks with atomic write, advisory lock, backup, and sentinel. Implements install/uninstall hooks with atomic write, advisory lock, backup, and sentinel. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Feature | Low |
Adds hook shim, --headless mode, and verified end‑to‑end pipeline. Adds hook shim, --headless mode, and verified end‑to‑end pipeline. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Feature | Low |
Provides snapshot example rendering TUI to PNG via TestBackend. Provides snapshot example rendering TUI to PNG via TestBackend. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Feature | Low |
Switches to top‑down room view (To the Moon style). Switches to top‑down room view (To the Moon style). Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Feature | Low |
Adds taller wall band, framed posters, and breathing idle frame. Adds taller wall band, framed posters, and breathing idle frame. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Feature | Low |
Implements adaptive multi‑row layout for more than five agents. Implements adaptive multi‑row layout for more than five agents. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Feature | Low |
Enables post‑task walking where characters stand up and bob after finishing tasks. Enables post‑task walking where characters stand up and bob after finishing tasks. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Feature | Low |
Adds draw_line primitive and cubicle partitions between desks. Adds draw_line primitive and cubicle partitions between desks. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Feature | Low |
Introduces positional wandering causing characters to leave their desk and walk after tasks. Introduces positional wandering causing characters to leave their desk and walk after tasks. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Feature | Low |
Provides sprite outlines via blit_frame_outlined function. Provides sprite outlines via blit_frame_outlined function. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Feature | Low |
Adds chibi Pixel People‑style character with Flight Controller headset. Adds chibi Pixel People‑style character with Flight Controller headset. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Feature | Low |
Implements --live mode to render real CC session state to PNG. Implements --live mode to render real CC session state to PNG. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Feature | Low |
Replaces side‑view theme with top‑down office decor. Replaces side‑view theme with top‑down office decor. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Feature | Low |
Adds Layout::compute with zone math and associated tests. Adds Layout::compute with zone math and associated tests. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Feature | Low |
Introduces coworking‑lounge palette and animation list. Introduces coworking‑lounge palette and animation list. Source: granite4.1:30b@2026-05-31-audit Confidence: low |
— |
| Bugfix | Medium |
Fixes UTF-8 truncation panic and related review‑found bugs. Fixes UTF-8 truncation panic and related review‑found bugs. Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Bugfix | Medium |
Fixes sprite label truncation preserving disambiguation suffix. Fixes sprite label truncation preserving disambiguation suffix. Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Bugfix | Medium |
Fixes snap‑back animation killing mid‑walk teleport (闪现). Fixes snap‑back animation killing mid‑walk teleport (闪现). Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Bugfix | Medium |
Fixes anchor entry mat positioning to top_margin. Fixes anchor entry mat positioning to top_margin. Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Bugfix | Medium |
Fixes clamp desks, floor seats, meeting sofa, and pantry counter within room bounds. Fixes clamp desks, floor seats, meeting sofa, and pantry counter within room bounds. Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Bugfix | Medium |
Removes typing head‑bob so hair stays still while typing. Removes typing head‑bob so hair stays still while typing. Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Bugfix | Medium |
Reduces waiting bubble size from 6×12 to 4×8 pixels. Reduces waiting bubble size from 6×12 to 4×8 pixels. Source: llm_adapter@2026-05-31 Confidence: high |
— |
Full changelog
Bug Fixes
- address multi-agent code review findings
- UTF-8 truncation panic + review-found bugs
- subagent attribution, stale-file flood, real labels
- widen standing/walking/holding-coffee sprites to 8x12
- desk gap visible + startup attaches to idle CC sessions
- each agent renders at their own desk + couch eye-merge
- label truncation preserves disambig suffix
- bump max-desks default + smaller floor planks
- only disambig labels when there's an actual collision
- walker shows both legs/feet
- parent shows as Active("Delegating") while subagents work
- walking_position clamp + 1-Hz exit sweep
- only wall the meeting room — pantry stays open
- fully-connected walkability mask + debug visualizer
- snap-back animation kills mid-walk teleport (闪现)
- anchor bookshelf + bulletin board to wall-band bottom
- placeholder layout dims must clear SceneLayout::compute minimums
- anchor entry mat to top_margin (was absolute y=15)
- clamp desks to cubicle band + move floor seats out of pantry
- clamp meeting sofa + pantry counter to room bounds
- remove typing head-bob — hair stays still while typing
- shrink waiting bubble from 6×12 to 4×8 pixels
- squarer ? bubble + redesign idle alt as slumped-right
- use macos-14 for x86_64-apple-darwin cross-compile
Documentation
- add v1 design spec
- add v1 implementation plan (28 tasks, TDD-shaped)
- README + CLAUDE.md with screenshot, status table, and architecture notes
- coworking-lounge spec + CLAUDE.md refresh
- coworking-lounge — Instant→SystemTime after rebase
- coworking-lounge implementation plan
- coworking-lounge layout pointer + sprite footprint
- reflect pixel_painter split + Active-grace debounce
- add build & publish flow spec
- update README install section + remove install.sh from spec
- reflect pose split, Renderer wiring, layout submodules
- beautify README for promotion — badges, features, fresh screenshot
- standardize sprite iteration procedure
- enrich README — centered hero, gallery, "Why?" section
- enlarge snapshot to 192×64, refresh README
Features
- cargo workspace scaffold for ascii-agents v1
- AgentEvent, SceneState, Reducer with hook-wins dedup
- sprite engine — types, parser, pack loader, animator, half-block blit
- hook + JSONL event decoders for Claude Code
- HookSocketListener + JsonlWatcher + ClaudeCodeSource
- Renderer trait + TestRenderer + end-to-end scene timeline test
- clap CLI scaffold + tokio runtime wiring
- ratatui TUI renderer — half-block sprites, per-agent recolor, speech bubbles
- install/uninstall hooks — atomic write, advisory lock, backup, sentinel
- hook shim + --headless mode + verified end-to-end pipeline
- snapshot example renders TUI to PNG via TestBackend
- pivot to top-down room view (To the Moon style)
- taller wall band + framed posters + breathing idle frame
- adaptive multi-row layout for >5 agents
- post-task walking — character stands up and bobs after finishing
- add draw_line primitive + cubicle partitions between desks
- positional wandering — characters leave desk and walk after tasks
- sprite outlines via blit_frame_outlined
- chibi Pixel People-style character w/ Flight Controller headset
- --live mode renders real CC session state to PNG
- top-down theme replaces side-view, add office decor
- Layout::compute with zone math + tests
- coworking-lounge palette + animation list
- placeholder sprites for coworking-lounge poses
- wire coworking-lounge animations into embedded loader
- rewrite renderer around Layout + Pose with lounge zones
- per-agent walk speed + per-cycle waypoint + top headroom
- waypoint kinds drive different idle activities + wall art
- smart idle behavior + decor/waypoint separation
- agent personality + 3 more waypoints + aimless wander
- book spines, whiteboard scribbles, scattered decor, skin variety
- bookshelf + whiteboard mounted on the back wall
- live wall clock + wall decor overlaps wall + label disambig
- directional walking + active screen glow
- waypoint de-collision so wanderers don't stack
- desk occludes character lower body
- dark idle monitor + visible active screen glow
- window light spill + clock ticks + bigger white whiteboard
- 1-px breath bob so static characters look alive
- sleeping pose with closed-eye dashes for idle agents
- office chair behind each seated agent
- monitor light reflects on active agent's face
- real-time daylight cycle with directional window light
- whiteboard is portable on wheels in the walkway
- plant variety + floor lamp + per-desk trash bin
- artificial office lighting + tighter cubicle wall margin
- drop shadows under desks, waypoints, plants, lamp
- warm rug under each couch in the lounge
- scrolling scanline on active monitor
- particles — Z's above sleepers, coffee steam, walking dust
- pantry replaces standalone water cooler
- SessionStart walks the agent in from a door
- SessionEnd walks the agent out to the door
- floor-to-ceiling windows with city view + lit windows at night
- cubicle band grows to fit multiple desk rows
- wider floor-to-ceiling windows
- carpet floor replaces wood/brick plank pattern
- city window dots twinkle on/off
- wood floor + lounge coffee table + door entry mat
- color labels by activity state
- wandering office cat in the lounge
- pre-render all desks regardless of agent count
- floor overflow + labels follow the character
- four-room office split + meeting room sofas
- sofa workstations + 3-col cubicles + cleaner floor seats
- 5 wayfinder polish items + connectedness regression test
- mouse-hover tooltip on characters
- per-agent variety + after-hours dim + walker trail
- skyline auto-scales + aimless wander uses full office
- pantry appliance wall + smoother snap-back
- auto-stretch couch-to-desk gap with buffer height
- Active→Idle debounce hides per-tool-call flicker
- two-tone characters (shirt + pants), curated outfits, drop chair
- elevator door — bigger, wall-aligned, 3-frame transition
- 2×2 desk pods + aisle decor + interactive waypoints + zoned wander
- office beautify pass — walls, pantry, meeting/lounge, cubicle pods, aisle decor, waiting
? - status-bar footer with agent + tool breakdown
- working_couch + working_floor for overflow agents
- status dots on labels + per-tool monitor glow color
- redesign seated_sleeping — head-on-desk with arms
- XDG socket path + --pack-dir for runtime sprite loading
- full animation set pass — typing bob + couch sleeping
- animated GIF export + README hero GIF
- state-adaptive stale-agent cleanup
- monitor tint by tool + pause key + idle pose variety
Miscellaneous
- preflight script + pre-push hook; fix fmt+clippy that slipped to CI
- review cleanup — tracing, orphaned doc, stale const
- add crop-snapshot.py + requirements-dev.txt for visual verification
- use venv for dev Python tooling, not system env
Performance
- stream JSONL reads, redirect TUI logs to file, shrink binaries
- eliminate per-frame render allocations
- wire FrameCache + drop palette clone + install fix
- precompute window sky gradient per row
Refactoring
- Layout struct, GitHub Actions, clap snapshot args
- drop the per-agent rug
- rename WaypointKind::WaterCooler → Pantry
- hoist TimeOfDayLook + document pose priority chain
- 7-point arch audit, A* routing, viewing couch
- drop lounge_band, fold Coffee into Pantry, fix clippy
- split renderer, wire Renderer trait, introduce SourceManager
- y-sort drawables (painter's algorithm) for top-down depth
- extract Drawable enum + dispatch into pixel_painter/drawable.rs
- continue pixel_painter split — anchors/background/effects/palette
- move pure derivation to core::pose; binary keeps routing
- drop unused layout param from Renderer trait
- split core/layout.rs (1140 LOC) into submodules
Styling
- flat charcoal chair instead of shirt-tinted background
- cargo fmt --all
- cargo fmt --all
- cargo fmt --all
- cargo fmt
Testing
- sample scene exercises every coworking pose
- snapshot regression tests + fix existing e2e exit assertion
- cover derive_with_routing snap-back + door-frame state machine
Art
- polish standing, walking, couch, coffee sprites
Ci
- add release pipeline + Cargo metadata + portable hook path
Deps+tui
- palette crate for Lab-space color blending
Harden
- clippy clean + Instant→SystemTime + tokio::select shutdown
Revert
- drop clock tick marks per user feedback
- drop walker trail — looked muddy in practice
Scaffold
- tui::layout module for coworking-lounge
- tui::pose module with Pose enum + constants
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About IvanWng97/ascii-agents
All releases →Related context
Related tools
Earlier breaking changes
- v0.4.0 Rename project from ascii-agents to pixtuoid (v0.4.0).
Beta — feedback welcome: [email protected]