diff options
| author | Adam Malczewski <[email protected]> | 2026-06-27 20:26:02 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-27 20:26:02 +0900 |
| commit | b70ae547fdcb8c1794981957485537dc21a8b5fd (patch) | |
| tree | e2617564fb2a0f430d5fa4170806120fa2890346 /src | |
| parent | f5dc22f7c14d6c0dd4bcedee5a85b21ecd294aed (diff) | |
| download | dispatch-web-b70ae547fdcb8c1794981957485537dc21a8b5fd.tar.gz dispatch-web-b70ae547fdcb8c1794981957485537dc21a8b5fd.zip | |
refactor(vision): fold Vision settings into the Compaction sidebar view
Both pertain to compaction (message compaction + image compaction), so they
share one sidebar panel. Removes the standalone "Vision" view kind; the
VisionSettingsView now renders inside the Compaction panel, below
CompactionView (with an "Image compaction" divider).
CompactionView stays keyed per conversation (its percent is per-conversation);
VisionSettingsView stays un-keyed (its settings are global). The vision
feature library + manifest are unchanged (still a composed module).
A persisted "vision" sidebar panel gracefully renders empty (the kind is no
longer in viewKinds) until the user re-selects Compaction.
Verification: svelte-check 0/0; vitest 959/959; biome clean; build OK.
Not merged or pushed.
Diffstat (limited to 'src')
| -rw-r--r-- | src/app/App.svelte | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/app/App.svelte b/src/app/App.svelte index 7d70f67..e521167 100644 --- a/src/app/App.svelte +++ b/src/app/App.svelte @@ -113,7 +113,6 @@ { id: "cache-warming", label: "Cache Warming" }, { id: "tasks", label: "Tasks" }, { id: "compaction", label: "Compaction" }, - { id: "vision", label: "Vision" }, { id: "heartbeat", label: "Heartbeat" }, { id: "system-prompt", label: "System Prompt" }, { id: "settings", label: "Settings" }, @@ -683,7 +682,9 @@ {/if} {/key} {:else if kind === "compaction"} - <!-- Re-mount per conversation so the percent + feedback can't bleed across tabs. --> + <!-- Message compaction is per-conversation (keyed so the percent + feedback + can't bleed across tabs). Vision (image-compaction) settings are GLOBAL, + so they stay mounted across conversation switches (no {#key}). --> {#key store.currentConversationId} <CompactionView percent={store.compactPercent} @@ -692,8 +693,7 @@ savePercent={saveCompactPercent} /> {/key} - {:else if kind === "vision"} - <!-- Global vision settings (image compaction). Not conversation-scoped (no {#key}). --> + <div class="divider my-1 text-xs text-base-content/40">Image compaction</div> <VisionSettingsView models={store.models} modelInfo={store.modelInfo} |
