Skip to content

v14.114.0 — Architecture Overhaul, Performance, Dead Code Cleanup

Choose a tag to compare

@DraconDev DraconDev released this 19 May 09:07

Architecture Overhaul

  • Decomposed monolithic god-files into focused modules
  • EventLoopCtx — 24 handler methods extracted from main.rs (1,476 → 421 lines, -71%)
  • file_mouse.rs — 647-line mouse handler extracted from file_manager.rs (-43%)
  • file_actions.rs — keyboard action handlers
  • nav_helpers.rs — navigation history module
  • clipboard.rs — clipboard utilities with OSC 52 fallback
  • refresh.rs — async file refresh loop
  • UI split into 14 modules (5,060 → 386 lines, -92%)
  • App: 120 flat fields → 13 sub-structs; FileState → 4 sub-structs

Performance

  • Fixed unconditional redraw on every 250ms Tick (4 redraws/sec → on-demand)
  • Short-circuit path_colors HashMap lookups when empty
  • Zero-allocation DIVIDER check

New Features

  • Marquee drag selection — transparent border rect, Ctrl+drag toggles, Escape cancels
  • Cross-pane drop on empty space — DropTarget::CurrentDir(pane_idx)
  • Undo close tab (Ctrl+Shift+T) — max 10 closed tabs restored
  • 14 theme presets — Legacy Red (default), Cyberpunk, Ocean Deep, Solarized, Gruvbox, Dracula, Tokyo Night, Nord, Catppuccin, Rose Pine, One Dark, Monokai, Paper, Terminal

Quality

  • Tests: 78 → 129 (+65%)
  • Zero production unwraps
  • Zero TODO/FIXME/HACK markers
  • All clippy clean, all doc warnings fixed
  • Criterion benchmarks for hot paths
  • Dead code cleanup: removed tile_queue, duplicate path_colors, layout.rs, dead parameter chains