feat: resizable character panel and full-height sprite

- Change sprite to use full height instead of full width for better scaling
- Add draggable divider between character panel and terminal
- Persist panel width preference in config (min: 200px, max: 600px)

Closes #10
This commit is contained in:
2026-01-23 18:05:55 -08:00
committed by Naomi Carrigan
parent ad9c914fb1
commit 13c96a973a
6 changed files with 75 additions and 14 deletions
+6
View File
@@ -64,6 +64,9 @@ pub struct HikariConfig {
#[serde(default = "default_update_checks_enabled")]
pub update_checks_enabled: bool,
#[serde(default)]
pub character_panel_width: Option<u32>,
}
impl Default for HikariConfig {
@@ -81,6 +84,7 @@ impl Default for HikariConfig {
notification_volume: 0.7,
always_on_top: false,
update_checks_enabled: true,
character_panel_width: None,
}
}
}
@@ -126,6 +130,7 @@ mod tests {
assert!(config.greeting_custom_prompt.is_none());
assert!(!config.always_on_top);
assert!(config.update_checks_enabled);
assert!(config.character_panel_width.is_none());
}
#[test]
@@ -143,6 +148,7 @@ mod tests {
notification_volume: 0.7,
always_on_top: true,
update_checks_enabled: true,
character_panel_width: Some(400),
};
let json = serde_json::to_string(&config).unwrap();