- Add paint_glyph(painter, rect, glyph) to render.rs; draw_glyph now
delegates to it, eliminating the duplicated rect_filled+text pattern
that appeared in four places across editor.rs and glyph_picker.rs
- Remove unused _board param from show_editor_panel and its call site
- Drop redundant section-header comments in glyph_picker.rs (the
ui.label() calls immediately below already name each section)
- Remove extracted fg/bg/cur_ch locals in the char grid loop now that
paint_glyph accepts a Glyph directly
- Fix CLAUDE.md update phase description (stale from pre-refactor)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Makes the nine layout constants self-documenting by showing which value
controls which part of the window (cell size, menu bar, panel margin,
side panel, and overall window dimensions).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Splits the flat 432-line main.rs into four modules so each file has one
clear job: render.rs owns layout constants and drawing primitives,
editor.rs owns EditorTab/EditorState and the side panel, glyph_picker.rs
owns the floating picker dialog with a decoupled (open, glyph) interface,
and main.rs is reduced to AppMode, App, and the frame loop (~150 lines).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>