Commit graph

30 commits

Author SHA1 Message Date
Admin
432ae0f8d7 aimgr 2026-04-27 14:51:24 +02:00
Admin
357a0bd51b drivable 2026-04-05 11:28:47 +02:00
Admin
d134df9f06 xr llama and slug 2026-04-01 12:19:03 +02:00
Sabin Regmi
33dea86646 Small Studio UX Nits (#982)
* Add animated sidebar toggle and splitter APIs

Add an animated, persistent sidebar toggle and supporting splitter APIs/UI.

- New icon resource: studio/desktop/resources/icons/icon_sidebar_toggle.svg
- UI: replace hidden caption bar with a visible caption that includes a sidebar toggle button (CaptionSidebarToggle), layout adjustments and related controls.
- App behavior: add SidebarAnimation struct and App fields to track animation state and next-frame. Handle button actions, next-frame stepping, and window drag queries to avoid initiating window drag over the toggle.
- Add App methods to query/set the workspace root splitter position, start/step sidebar animations, toggle sidebar (remember/restore width), and sync tab-bar visibility for mounts.
- Persist mount sidebar restore width by adding sidebar_restore_width to MountState and initializing default.
- Make save_state pub(super) so App can save when animation finishes.
- Widgets: expose splitter position and set_splitter_align on Dock and Splitter to allow programmatic width changes and redrawing.

These changes improve UX by providing a smooth animated sidebar hide/show, remembering user width per mount, and ensuring the dock UI updates correctly during mount/tab changes.

* Persist sidebar_restore_width in mount state

Add an Option<f64> sidebar_restore_width to PersistedMountStateRon and wire it through loading and collection so the sidebar width is saved and restored. Include tests to verify a round-trip serialization/deserialization preserves the value and that missing legacy data defaults to None for backward compatibility.

* Sync run preview splitter state

Hide and restore the Run preview column based on whether run tabs exist. Added run_panel_split_restore to AppData to remember the last editor_split ratio per mount, plus a helper (run_preview_splitter_is_collapsed) and a new method sync_run_preview_splitter that collapses the preview when there are no runs and restores the previous ratio when runs reappear (defaults to Weighted(0.62)). Called sync_run_preview_splitter from relevant places: after creating/ensuring run tabs, when clearing build tabs, when closing run tabs, and at startup to initialize each mount. Also added /.cocoindex_code/ to .gitignore.

* Add bottom panel toggle with animation

Introduce a bottom panel toggle UI and animation support. Adds a new icon resource and CaptionPanelToggle button in the caption bar, moves/adjusts caption layout, and wires the button to toggle the bottom panel. Adds a TerminalShellPane, bottom_terminal_tab, and integrates bottom_panel_tabs into the workspace layout. Implements BottomPanelAnimation, animation helpers (panel_animation_progress, start/step logic), workspace splitter height getters/setters, and toggle/select helpers (toggle_bottom_panel, select_bottom_terminal_panel). Persists mount bottom_panel_restore_height in MountState and persisted state with tests updated. Also updates drag/tab behavior to account for the new bottom terminal tab and routes animation next-frame events.

* Refactor reflow_resize and add wrap test

Rewrite reflow_resize to simplify reflow logic and improve handling of growing/shrinking rows and scrollback. The change always captures the old grid state, builds logical (re-wrapped) scrollback lines, and then branches on whether the new height is greater, less, or equal to the old height. On growth it may pull rows from the logical scrollback when the terminal was full, preserve content when a custom scroll region is present, and correctly update cursor, high-water, saved cursor and bottom_trimmed_rows. On shrink it chooses how many bottom rows to push into scrollback based on cursor position, trimmed rows, and content below the cursor, and trims scrollback to max_scrollback. Also adjust cursor bounds and pending_wrap handling. Add a test (visible_wrapped_prompt_rows_do_not_reflow_on_width_growth) to ensure visible wrapped prompt rows do not get reflowed when the width increases.
2026-03-25 14:12:57 +01:00
Admin
bcce2305e3 vfs smoothness 2026-03-04 13:56:58 +01:00
Admin
e9d7dd65fe possible terminal glitch fix 2026-03-04 13:39:27 +01:00
Admin
f9475ad261 fix scrolling 2026-03-04 09:16:48 +01:00
Admin
2e859786f9 fix scrolling 2026-03-04 09:14:45 +01:00
Admin
21d0f45379 fix: revert is_repeat check, fix batched TextInput newlines
Made-with: Cursor
2026-03-04 08:18:41 +01:00
Admin
4e3ce9d0a8 terminal window resizing stable 2026-03-04 00:25:32 +01:00
Admin
9d8dc34a68 terminal fidgetting 2026-03-03 22:43:41 +01:00
Admin
4152df35da terminal fidgetting 2026-03-03 22:39:28 +01:00
Admin
e289c9c590 fixup terminal height glitching 2026-03-03 21:05:00 +01:00
Admin
3af7afb04c widget tree fixup 2026-03-03 20:19:06 +01:00
Admin
324f22863b terminal otw 2026-03-03 17:47:24 +01:00
Admin
554bbb2050 terminal wrangling 2026-03-03 13:22:06 +01:00
Admin
4ca7685256 terminal wrangling 2026-03-03 13:21:53 +01:00
Admin
7bf6afa3ab fix paste in terminal 2026-03-02 12:18:26 +01:00
Admin
797098cec5 fix linux 2026-02-24 16:49:11 +01:00
Admin
582af4b271 splice out a makepad-network crate 2026-02-23 23:21:31 +01:00
admin
8ced05d753 refactor remote and screenshot proto 2026-02-22 10:57:51 +01:00
Admin
414df1eb3b windows terminal 2026-02-14 14:23:07 +01:00
Admin
ba356056f1 draw groups 2026-02-13 17:58:20 +01:00
Admin
e3f9f443fe terminal coalesce tweaks 2026-02-13 16:48:40 +01:00
Admin
768a088c36 terminal finnicking 2026-02-13 10:44:49 +01:00
Admin
d5629c5030 improve terminal 2026-02-13 10:08:58 +01:00
Admin
e253d89a9b terminal otw 2026-02-13 09:54:08 +01:00
Admin
1facb0a9cb terminal otw 2026-02-13 09:41:16 +01:00
Admin
d409ad18b3 terminal otw 2026-02-13 08:48:04 +01:00
Admin
2b856aaa7f terminal in studio 2026-02-13 08:27:49 +01:00