egui-data-table 0.10.0

A generic data table widget implmentation for egui
Documentation
# CLAUDE.md

## Project Overview

`egui-data-table` is a generic, feature-rich data table widget for [egui](https://github.com/emilk/egui). Users implement the `RowViewer<R>` trait to define per-row rendering and editing behavior; the library provides undo/redo, column reordering/visibility, row insertion/deletion, keyboard navigation, and clipboard support out of the box.

- Crate: `egui-data-table` (published on crates.io)
- Rust edition 2024, MSRV 1.75
- Workspace members: root lib crate + `demo/` (eframe/wasm demo app)
- Demo hosted via GitHub Pages: https://kang-sw.github.io/egui-data-table/

## Work Guidelines

1. **Commit at each compilable logical unit.** Every commit must compile (`cargo build`). Group related changes into a single commit; do not leave the tree in a broken state between commits.
2. **Run `cargo fmt` before finishing.** Always run `cargo fmt` after completing work to ensure consistent formatting.
3. **Commit message convention:** Use conventional-commit style prefixes (`fix`, `feat`, `refactor`, `test`, `docs`, `ci`, `proj`, etc.) as seen in the git log.

## Build & Test

```sh
cargo build          # build the library
cargo test           # run all tests (unit + doctests)
cargo fmt            # format code
cargo clippy         # lint
```

### Demo (wasm)

```sh
rustup target add wasm32-unknown-unknown
cargo install trunk
trunk serve demo/index.html
```