Skip to content
/ waview Public

🌊 WaView - Simple and tiny CSV waveform viewer

License

Notifications You must be signed in to change notification settings

suous/waview

Repository files navigation

WaView Logo

Simple And Tiny CSV Waveform Viewer

Built with Tauri 2 and MUI 6 to inspect waveforms in CSV files.
Optimized for minimal size and waveform rendering.

waview-screen

Features

  1. πŸ¦₯ Simple: Built with simplicity in mind, less than 2K lines of code.

  2. 🐜 Tiny: Optimized for minimal size, less than 2M bundle size.

  3. πŸ₯· Customizable: Easy to customize the app and waveform style.

  4. πŸ—Ώ Multi-language: Support for multiple languages, including English, Chinese.

  5. πŸ›Ή Cross-platform: Support for multiple platforms, including Windows, macOS, and Linux.

===============================================================================
 Language            Files        Lines         Code     Comments       Blanks
===============================================================================
 HTML                    1           16           13            1            2
 Rust                    5          132          114            1           17
 TSX                    17         1234         1089           19          126
 TypeScript              7          255          211           14           30
===============================================================================
 Total                  30         1637         1427           35          175
===============================================================================

How to use

  1. Drag any CSV file with columns of numerical values to the app. For example:
epoch train_loss eval_loss eval_top1 eval_top5
0 6.85 6.64 0.87 3.34
1 6.18 4.61 14.98 33.54
2 5.63 3.66 28.14 52.41
3 5.11 3.18 36.44 61.62
4 4.98 2.79 43.55 68.56
5 4.57 2.53 47.81 73.12

Shortcuts

Shortcut Action
⌘ + , (Ctrl + , on Windows/Linux) Open Preferences
⌘ + N (Ctrl + N on Windows/Linux) Toggle Split Waveforms
⌘ + O (Ctrl + O on Windows/Linux) Open Files
⌘ + D (Ctrl + D on Windows/Linux) Display Imported Files

Development

  1. Install tauri prerequisites.

  2. Install bun package manager.

  3. Clone and cd to the repo.

# clone the repo
git clone https://github.com/suous/waview.git

# cd to the repo
cd waview
  1. Install dependencies.
# install dependencies
bun install

# dev
bun run tauri dev

# build
bun run tauri build

Why build this?

  1. ⛷️ Learn: Learn about Tauri, React, Rust, and Modern APP development lifecycle.

  2. πŸ”­ Explore: Explore some CSV files I have.

  3. πŸ€·β€β™‚οΈ I have no idea.

Limitations

  1. πŸ•οΈ Only support naive CSV files with numerical columns.

  2. πŸ§Ÿβ€β™‚οΈ Performance is limited with a huge number of data points.

  3. πŸ—οΈ Lack of strong typing and test coverage.