openpencil/crates/op-host-desktop/src
Fini e868a49749 feat(editor): open documents behind a minimized chat bar
Entering the editor or opening a document now docks the AI panel to a
compact 400x48 bar on the canvas's bottom edge — sparkle, the draft or
placeholder, a dimmed model name, and a send disc — and one click expands
it with the input focused. The policy lives in the single document-open
funnel so every entry point inherits it, with one exception: a document
opened while a turn is still streaming keeps the panel up.

The bar is a dock, not a float — it ignores any dragged panel position —
and the whole strip is one target; the model name caps at 45% of the row
so the placeholder always keeps the larger share down to the narrowest
canvas. The old header-only collapsed state retires: is_minimized() maps
persisted collapsed flags onto the bar, and paint locks the bar's weight
(radius, type sizes, one 5%-alpha shadow) so it cannot quietly thicken.

Claude-Session: https://claude.ai/code/session_01FqKQqNj8exYwopGDpYUU7x
2026-08-07 02:00:22 +08:00
..
app_handler feat(editor): one-click acp presets for kimi, gemini and qwen 2026-08-05 00:55:17 +08:00
collab_runtime feat(collab): ship built-in regional collaboration hubs 2026-08-03 21:05:36 +08:00
figma_import_session feat(collab): add authenticated p2p collaboration 2026-07-29 00:06:58 +08:00
git_host fix(desktop): make window close work on linux desktops without zenity 2026-08-04 21:09:35 +08:00
image_enrich_cli refactor(desktop): retry exhausted stock-image searches from a dedicated arm 2026-07-31 21:06:11 +08:00
image_search_session refactor(desktop): retry exhausted stock-image searches from a dedicated arm 2026-07-31 21:06:11 +08:00
image_search_session_tests refactor(desktop): retry exhausted stock-image searches from a dedicated arm 2026-07-31 21:06:11 +08:00
save_session feat(collab): add authenticated p2p collaboration 2026-07-29 00:06:58 +08:00
a11y.rs perf(desktop): build a11y tree lazily and gate image search on revision 2026-07-10 22:56:49 +08:00
acp_agent_probe_host.rs feat(editor): one-click acp presets for kimi, gemini and qwen 2026-08-05 00:55:17 +08:00
acp_local_e2e_tests.rs fix(agent): make ACP connection probes generation-safe 2026-07-30 08:57:15 +08:00
agent_connect_store.rs test(desktop): keep persistence tests out of the real user config 2026-07-28 00:29:39 +08:00
app_handler.rs fix(collab): close a gesture whose release never arrives 2026-08-03 21:15:32 +08:00
app_poll.rs feat(editor): give decks a full workspace of navigation, generation and export surfaces 2026-08-05 00:57:49 +08:00
app_state.rs feat(editor): open documents behind a minimized chat bar 2026-08-07 02:00:22 +08:00
asset_fetch_error.rs refactor: typed error enums across the whole workspace 2026-07-27 21:09:06 +08:00
bundled_fonts.rs feat(editor): improve document workflows and rendering 2026-07-23 21:15:04 +08:00
chat_acp.rs fix(ai): improve provider design generation prompts 2026-06-21 22:23:26 +08:00
chat_attachment.rs refactor(host): rename op-web-daemon crate to op-host-services 2026-06-19 22:35:22 +08:00
chat_design_request.rs feat(editor): give decks a full workspace of navigation, generation and export surfaces 2026-08-05 00:57:49 +08:00
chat_intent_host_tests.rs feat(editor): give decks a full workspace of navigation, generation and export surfaces 2026-08-05 00:57:49 +08:00
chat_session.rs feat(editor): give decks a full workspace of navigation, generation and export surfaces 2026-08-05 00:57:49 +08:00
chat_session_finalize_teardown_tests.rs fix(agent): parallelize scoped continuation screens 2026-07-22 22:21:50 +08:00
chat_session_identity_tests.rs feat(ui): user-selectable pencil cursor styles and Pencil-style narration flow 2026-07-12 12:32:59 +08:00
chat_session_launch.rs feat(editor): grow the asset center into a full-window gallery with dual-action templates 2026-08-07 02:00:22 +08:00
chat_session_launch_design.rs feat(editor): record what a document is for as a scenario tag 2026-08-02 23:44:20 +08:00
chat_session_launch_providers.rs refactor: split every oversized module into sibling files 2026-07-26 14:58:19 +08:00
chat_session_launch_selection_tests.rs fix(ai): preserve modify context across retries 2026-07-27 21:30:17 +08:00
chat_session_launch_tests.rs feat(editor): give decks a full workspace of navigation, generation and export surfaces 2026-08-05 00:57:49 +08:00
chat_session_loop_tests.rs refactor: final 800-line sweep across editor, mcp, services, and tool crates 2026-07-26 22:34:37 +08:00
chat_session_reveal_tests.rs fix(editor): improve import and generation reliability 2026-07-21 06:34:53 +08:00
chat_session_tests.rs refactor: final 800-line sweep across editor, mcp, services, and tool crates 2026-07-26 22:34:37 +08:00
chat_session_transcript_tests.rs fix(desktop): align design session identity and lifecycle 2026-07-14 00:30:01 +08:00
clipboard.rs fix(desktop): support Wayland image clipboard paste 2026-07-27 21:08:15 +08:00
codegen_export.rs fix(codegen): preserve generated results across framework tabs 2026-07-27 21:04:23 +08:00
codegen_input.rs refactor(host-core): share codegen input state 2026-06-14 11:12:19 +08:00
codegen_session.rs fix(codegen): preserve generated results across framework tabs 2026-07-27 21:04:23 +08:00
codegen_session_tests.rs fix(codegen): preserve generated results across framework tabs 2026-07-27 21:04:23 +08:00
collab_avatar_host.rs feat(editor): show authenticated profile avatars 2026-07-29 15:20:34 +08:00
collab_jwks.rs feat(collab): add authenticated p2p collaboration 2026-07-29 00:06:58 +08:00
collab_runtime.rs feat(collab): ship built-in regional collaboration hubs 2026-08-03 21:05:36 +08:00
commit_diff_host.rs feat(panels): git-panel commit-detail diff, overflow menu, signature form 2026-06-02 09:42:03 +08:00
commit_diff_semantic.rs feat(panels): git-panel commit-detail diff, overflow menu, signature form 2026-06-02 09:42:03 +08:00
cursor_icon.rs
design_loop_indicator.rs refactor: final 800-line sweep across editor, mcp, services, and tool crates 2026-07-26 22:34:37 +08:00
design_loop_indicator_tests.rs refactor: final 800-line sweep across editor, mcp, services, and tool crates 2026-07-26 22:34:37 +08:00
design_md_error.rs refactor: typed error enums across the whole workspace 2026-07-27 21:09:06 +08:00
design_md_host.rs feat(collab): add authenticated p2p collaboration 2026-07-29 00:06:58 +08:00
design_session.rs feat(collab): add authenticated p2p collaboration 2026-07-29 00:06:58 +08:00
design_session_terminal_tests.rs feat(editor): give decks a full workspace of navigation, generation and export surfaces 2026-08-05 00:57:49 +08:00
design_session_tests.rs feat(editor): give decks a full workspace of navigation, generation and export surfaces 2026-08-05 00:57:49 +08:00
design_session_worker_tests.rs feat(editor): give decks a full workspace of navigation, generation and export surfaces 2026-08-05 00:57:49 +08:00
design_session_workers.rs fix(desktop): preserve design terminal progress 2026-07-24 07:09:26 +08:00
drag_cursor.rs feat(editor): drop an image file onto a node to set its fill 2026-07-28 00:29:39 +08:00
figma_import_session.rs fix(desktop): make window close work on linux desktops without zenity 2026-08-04 21:09:35 +08:00
font_import_host.rs fix(desktop): make window close work on linux desktops without zenity 2026-08-04 21:09:35 +08:00
fonts.rs refactor: typed error enums across the whole workspace 2026-07-27 21:09:06 +08:00
fonts_error.rs refactor: typed error enums across the whole workspace 2026-07-27 21:09:06 +08:00
frame.rs
git_host.rs feat(collab): add authenticated p2p collaboration 2026-07-29 00:06:58 +08:00
git_jobs.rs fix(desktop): terminate disconnected git pull jobs 2026-07-29 00:13:57 +08:00
git_overflow_host.rs refactor(editor): migrate tracked file picker to shared select 2026-06-14 00:56:37 +08:00
git_session.rs feat(panels): git-panel commit-detail diff, overflow menu, signature form 2026-06-02 09:42:03 +08:00
git_ssh_host.rs refactor(editor): migrate tracked file picker to shared select 2026-06-14 00:56:37 +08:00
heap_pressure.rs feat(editor): improve document workflows and rendering 2026-07-23 21:15:04 +08:00
html_import_error.rs feat(html): overhaul HTML and browser-snapshot import fidelity 2026-08-04 21:47:49 +08:00
html_import_session.rs feat(html): overhaul HTML and browser-snapshot import fidelity 2026-08-04 21:47:49 +08:00
iconify_host.rs refactor: typed error enums across the whole workspace 2026-07-27 21:09:06 +08:00
image_decode_host.rs feat(collab): add authenticated p2p collaboration 2026-07-29 00:06:58 +08:00
image_decode_stats.rs fix(editor): degrade instead of panicking on host failure paths 2026-07-26 11:23:43 +08:00
image_downscale.rs perf(renderer): blur-up placeholders and a negative decode cache 2026-07-19 20:45:04 +08:00
image_drop_host.rs feat(collab): add authenticated p2p collaboration 2026-07-29 00:06:58 +08:00
image_drop_host_tests.rs feat(editor): drop an image file onto a node to set its fill 2026-07-28 00:29:39 +08:00
image_enrich_cli.rs refactor(desktop): retry exhausted stock-image searches from a dedicated arm 2026-07-31 21:06:11 +08:00
image_generate_host.rs refactor: typed error enums across the whole workspace 2026-07-27 21:09:06 +08:00
image_panel_host.rs refactor: typed error enums across the whole workspace 2026-07-27 21:09:06 +08:00
image_search_session.rs refactor(desktop): retry exhausted stock-image searches from a dedicated arm 2026-07-31 21:06:11 +08:00
image_search_session_tests.rs refactor: split every oversized module into sibling files 2026-07-26 14:58:19 +08:00
ime_window.rs fix(panels): make image popover inputs fully editable 2026-07-20 21:40:03 +08:00
keyboard_clipboard_payload.rs feat(ai): add prompt center 2026-07-30 09:00:40 +08:00
keyboard_input.rs feat(editor): give decks a full workspace of navigation, generation and export surfaces 2026-08-05 00:57:49 +08:00
keyboard_input_tests.rs feat(editor): give a presenting deck controls to drive it with 2026-08-03 01:03:35 +08:00
keyboard_presenting.rs feat(editor): give a presenting deck controls to drive it with 2026-08-03 01:03:35 +08:00
keyboard_scene_template.rs feat(editor): give decks a full workspace of navigation, generation and export surfaces 2026-08-05 00:57:49 +08:00
keyboard_shortcut_tests.rs feat(editor): improve document workflows and rendering 2026-07-23 21:15:04 +08:00
kit_io.rs refactor: dedupe cross-crate code and converge hardcoded literals 2026-07-26 11:24:22 +08:00
kit_persistence.rs refactor: typed error enums across the whole workspace 2026-07-27 21:09:06 +08:00
kit_persistence_error.rs refactor: typed error enums across the whole workspace 2026-07-27 21:09:06 +08:00
legacy_op_upgrade.rs fix(desktop): make window close work on linux desktops without zenity 2026-08-04 21:09:35 +08:00
legacy_op_upgrade_error.rs refactor: typed error enums across the whole workspace 2026-07-27 21:09:06 +08:00
macos_app.rs feat(editor): improve document workflows and rendering 2026-07-23 21:15:04 +08:00
main.rs feat(editor): give decks a full workspace of navigation, generation and export surfaces 2026-08-05 00:57:49 +08:00
main_mcp_tests.rs feat(collab): allow cross-account collaboration 2026-08-01 13:01:24 +08:00
main_tests.rs feat(editor): open documents behind a minimized chat bar 2026-08-07 02:00:22 +08:00
mcp_config_error.rs refactor: typed error enums across the whole workspace 2026-07-27 21:09:06 +08:00
mcp_config_io.rs refactor: typed error enums across the whole workspace 2026-07-27 21:09:06 +08:00
mcp_integrations.rs feat(desktop): one-click mcp registration for twelve clis 2026-08-05 00:52:13 +08:00
mcp_integrations_tests.rs feat(desktop): one-click mcp registration for twelve clis 2026-08-05 00:52:13 +08:00
mcp_port_file.rs chore(host-core): tighten feature boundaries 2026-06-14 12:18:51 +08:00
mcp_runtime.rs feat(desktop): one-click mcp registration for twelve clis 2026-08-05 00:52:13 +08:00
mcp_serve.rs refactor: dedupe cross-crate code and converge hardcoded literals 2026-07-26 11:24:22 +08:00
menu.rs fix(desktop): remove native batch export item 2026-07-30 01:52:44 +08:00
menu_action.rs fix(desktop): show update check status 2026-07-30 02:14:54 +08:00
message_dialog.rs fix(desktop): make window close work on linux desktops without zenity 2026-08-04 21:09:35 +08:00
model_refresh_host.rs feat(agent): refresh cli model catalogs on picker open 2026-07-30 08:57:14 +08:00
page_paint_identity_tests.rs feat(editor): improve document workflows and rendering 2026-07-23 21:15:04 +08:00
persistence.rs feat(editor): give decks a full workspace of navigation, generation and export surfaces 2026-08-05 00:57:49 +08:00
persistence_error.rs refactor: typed error enums across the whole workspace 2026-07-27 21:09:06 +08:00
persistence_export_batch.rs fix(desktop): make window close work on linux desktops without zenity 2026-08-04 21:09:35 +08:00
persistence_export_html.rs fix(desktop): make window close work on linux desktops without zenity 2026-08-04 21:09:35 +08:00
persistence_export_pptx.rs feat(editor): export a deck as an editable powerpoint file 2026-08-05 00:49:25 +08:00
persistence_image.rs feat(collab): add authenticated p2p collaboration 2026-07-29 00:06:58 +08:00
persistence_tests.rs feat(collab): add authenticated p2p collaboration 2026-07-29 00:06:58 +08:00
prompt_center_store.rs feat(ai): add prompt center 2026-07-30 09:00:40 +08:00
provider_probe_host.rs fix(ci): satisfy the fmt gate and the version-literal fixture rule 2026-07-28 00:56:22 +08:00
remote_image_host.rs feat(renderer): rasterize svg image sources at the byte-cache seam 2026-08-05 22:15:09 +08:00
render_cli.rs refactor: typed error enums across the whole workspace 2026-07-27 21:09:06 +08:00
render_cli_error.rs refactor: typed error enums across the whole workspace 2026-07-27 21:09:06 +08:00
save_session.rs feat(editor): give decks a full workspace of navigation, generation and export surfaces 2026-08-05 00:57:49 +08:00
scene_template_generate.rs feat(editor): open documents behind a minimized chat bar 2026-08-07 02:00:22 +08:00
scene_template_open.rs feat(editor): grow the asset center into a full-window gallery with dual-action templates 2026-08-07 02:00:22 +08:00
settings_io.rs refactor(host): rename op-web-daemon crate to op-host-services 2026-06-19 22:35:22 +08:00
single_instance.rs feat(collab): ship built-in regional collaboration hubs 2026-08-03 21:05:36 +08:00
sub_agent_session.rs refactor: typed error enums across the whole workspace 2026-07-27 21:09:06 +08:00
sub_agent_session_tests.rs refactor: typed error enums across the whole workspace 2026-07-27 21:09:06 +08:00
sub_agent_spawn_error.rs refactor: typed error enums across the whole workspace 2026-07-27 21:09:06 +08:00
tcc_selftest.rs Improve git panel parity and macOS bundle identity 2026-05-31 20:23:28 +08:00
test_config_root.rs test(desktop): keep persistence tests out of the real user config 2026-07-28 00:29:39 +08:00
theme_preset_host.rs feat(collab): add authenticated p2p collaboration 2026-07-29 00:06:58 +08:00
ui_prefs.rs test(desktop): keep persistence tests out of the real user config 2026-07-28 00:29:39 +08:00
update_check.rs fix(desktop): show update check status 2026-07-30 02:14:54 +08:00
window_resize.rs style(desktop): rustfmt window_resize.rs test asserts 2026-07-05 19:31:33 +08:00
window_state.rs fix(desktop): restore window size in logical pixels 2026-06-01 01:21:24 +08:00