Commit graph

8 commits

Author SHA1 Message Date
Hibryda
d9a2ea6500 fix(electrobun): replace sidebar onmousedown with inset drag zone (10px from edges) 2026-03-25 19:09:20 +01:00
Hibryda
561bca1133 fix(electrobun): 10px left padding on sidebar to avoid resize edge overlap 2026-03-25 18:59:33 +01:00
Hibryda
14231c5c0e fix(electrobun): restore CSS animations for WebKitGTK user mode
CSS pulse animations restored — they run at ~0% CPU on WebKitGTK's
native compositor. The --disable-gpu flags in electrobun.config.ts
only apply in CEF mode (AGOR_CEF=1) for E2E testing.

User mode (WebKitGTK): full GPU, full animations, full transitions
Test mode (CEF): GPU disabled, animations still CSS but no human watching
2026-03-22 09:40:08 +01:00
Hibryda
3a61158e00 perf(electrobun): fix CEF high CPU — disable GPU flags + remove CSS animations
- electrobun.config.ts: add --disable-gpu --disable-gpu-compositing to CEF
  flags (GLXBadWindow X11 errors cause continuous recovery loop)
- StatusBar.svelte: replace @keyframes pulse with CSS transition + JS toggle
- app.css: remove @keyframes pulse-dot (continuous compositor repaint)

CSS animations on small elements cause 10-30% CPU in both CEF and WebKitGTK.
JS class toggle with transition: opacity 0.3s uses near-zero CPU.
2026-03-22 09:35:24 +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