feat: add user-selectable aspect ratio and resolution per thread
CI / Lint & Check (pull_request) Failing after 10m50s
CI / Build Windows (pull_request) Has been skipped
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m50s

Adds a two-step new thread modal: step one picks mode, step two
configures aspect ratio (Art mode only, six options) and resolution
(all modes: 1K/2K/4K). Settings are stored on the thread and forwarded
to the Gemini API on every send, retry, and edit. Also regenerates
icon.ico with Python to produce a clean all-BMP ICO compatible with
both Tauri's proc macro and llvm-rc cross-compilation.
This commit is contained in:
2026-04-13 16:29:09 -07:00
parent 5bfd25e60d
commit f3c2e8fa40
9 changed files with 405 additions and 43 deletions
+20 -7
View File
@@ -5,6 +5,8 @@
* @author Naomi Carrigan
*/
type AspectRatio = "1:1" | "3:4" | "4:3" | "9:16" | "16:9" | "21:9";
type ImageSize = "1K" | "2K" | "4K";
type Mode = "avatar" | "art" | "replace";
interface Config {
@@ -33,12 +35,23 @@ interface ThreadMessage {
}
interface Thread {
createdAt: number;
id: string;
messages: Array<ThreadMessage>;
mode: Mode;
name: string;
updatedAt: number;
aspectRatio?: AspectRatio;
createdAt: number;
id: string;
imageSize?: ImageSize;
messages: Array<ThreadMessage>;
mode: Mode;
name: string;
updatedAt: number;
}
export type { Config, MessagePart, Mode, PendingInput, Thread, ThreadMessage };
export type {
AspectRatio,
Config,
ImageSize,
MessagePart,
Mode,
PendingInput,
Thread,
ThreadMessage,
};