Commit graph

11 commits

Author SHA1 Message Date
Hibryda
3d1cd0028f fix(electrobun): tab bar at bottom, collapse slides down naturally 2026-03-20 02:29:49 +01:00
Hibryda
cb4fe5bd4a fix(electrobun): collapse animation + z-index fix, gitignore .tribunal/ 2026-03-20 02:25:50 +01:00
Hibryda
bdd4477aec fix(electrobun): terminal collapse animation + tab bar z-index above canvas 2026-03-20 02:14:10 +01:00
Hibryda
4ae558af17 feat(electrobun): fixes + 7 new features (terminal input, file browser, memory, toasts)
Fixes:
- Terminal accepts keyboard input (echo mode with prompt)
- Terminal drawer collapses properly (display:none preserves xterm state)

Features:
- 6 project tabs: Model | Docs | Context | Files | SSH | Memory
- FileBrowser.svelte: recursive tree with expand/collapse + file preview
- MemoryTab.svelte: memory cards with trust badges (human/agent/auto)
- Subagent tree in AgentPane (demo: search-agent, test-runner)
- Drag resize handle between agent pane and terminal
- Theme dropdown in Settings (4 Catppuccin flavors)
- ToastContainer.svelte: auto-dismiss notifications
2026-03-20 02:07:18 +01:00
Hibryda
b11a856b72 feat(electrobun): full UI — terminal tabs, agent pane, settings, palette
Extracted into 6 components:
- ProjectCard.svelte: header with badges, tab bar, content area
- AgentPane.svelte: collapsible tool calls, status strip, prompt input
- TerminalTabs.svelte: add/close shell tabs, active highlighting
- SettingsDrawer.svelte: theme, fonts, providers
- CommandPalette.svelte: Ctrl+K search overlay
- Terminal.svelte: xterm.js with Canvas + Image addons

Status bar: running/idle/stalled counts, attention queue, session
duration, notification bell, Ctrl+K hint. All ARIA labeled.
2026-03-20 01:55:24 +01:00
Hibryda
931bc1b94c test(electrobun): 6-terminal stress test to verify Canvas context limit 2026-03-20 01:42:59 +01:00
Hibryda
f97ea95373 feat(electrobun): add xterm.js terminal with image addon (Sixel/iTerm2)
- Terminal.svelte component with @xterm/xterm + Canvas + Fit + Image addons
- Catppuccin Mocha terminal theme matching main app
- Sixel, iTerm2 inline image protocol support via xterm-addon-image
- ResizeObserver for responsive terminal sizing
- Demo cargo test output in terminal section below agent messages
2026-03-20 01:40:24 +01:00
Hibryda
b79fbf688e perf(electrobun): JS blink replaces CSS animation, 1.13% CPU (was 6.5%)
JS setInterval(500ms) toggles .blink-off class instead of CSS @keyframes.
WebKitGTK handles discrete class toggle efficiently (single repaint per toggle).
0.7% idle + 0.43% blink overhead = 1.13% total.

Comparison:
- CSS @keyframes: 6.5% (continuous compositor animation)
- JS class toggle: 1.13% (2 repaints/sec)
- No animation: 0.7% (baseline)
- Tauri (CSS): ~0% (browser compositor optimized)
- GPUI (custom Element): 2.17%
2026-03-20 01:35:33 +01:00
Hibryda
6b4a2494b3 perf: disable CSS pulse animation, measure 0.7% idle baseline (Electrobun) 2026-03-20 01:30:52 +01:00
Hibryda
cfc135ffaf feat: Electrobun Svelte+WGPU prototype (Dawn GPU confirmed on Linux)
- Svelte 5 frontend with Catppuccin Mocha theme, 2 project cards
- Electrobun v1.16.0 with bundleWGPU: true (Dawn on Linux x64)
- WebKitGTK webview + WGPU surface coexistence confirmed
- CPU: 6.5% idle (CSS animation + WebKitGTK overhead)
- Port 9760 for dev server (project convention)
2026-03-20 01:25:41 +01:00
Hibryda
1f20fc460e feat: add Electrobun WGPU prototype (Dawn GPU on Linux confirmed) 2026-03-20 01:18:19 +01:00