magi-code 0.77.1

Repository-aware CLI coding agent for terminal work
Documentation
# Render agent guide

## Where to look

| Task | Location |
| --- | --- |
| Frame drawing, shared pane helpers | `mod.rs` |
| Transcript pane and scroll labels | `transcript.rs` |
| Activity tree/detail projection | `activity.rs` |
| Prompt, cursor, selection, completion overlay | `prompt.rs` |
| Header projection | `header.rs` |
| Top-modal dispatch and shared geometry | `modals/mod.rs` |
| Auth, model, session, settings, usage views | Corresponding files in `modals/` |
| Subagent timeline and theme picker | `modals/subagent_viewer.rs`, `modals/theme.rs` |

## Local conventions

- Draw from display state; do not apply events or perform provider, worker, config, or session operations here.
- Keep layout deterministic for the supplied state and rectangle. Guard empty areas and use saturating coordinate/scroll arithmetic.
- `render_scroll_view_persistent_impl` copies scroll state locally before rendering; do not write widget-adjusted offsets back into application state from drawing.
- Preserve windowed transcript projection. Card formatting belongs in `../transcript_cards/`; selection overlays belong in `../transcript_projection.rs`.
- Reuse shared display roles for markdown, code, diffs, and activity rather than parsing the same content per pane.
- Modal geometry helpers are also exported for input hit testing. Update drawing and hit targets together, including tiny-area behavior and list windows.
- `draw_top_modal` follows `state.top_modal()`; modal renderers display workflow state, while controller actions perform durable changes.
- Preserve bounded/redacted modal text and stable help labels. Do not reintroduce TachyonFX effects into this projection layer.