# Does the Brush Project Provide a Documentation Website or API Reference?

> Discover how the Brush project handles documentation. Learn it uses READMEs and local cargo doc for API references instead of a dedicated website.

- Repository: [Arthur Brussee/brush](https://github.com/ArthurBrussee/brush)
- Tags: api-reference
- Published: 2026-05-14

---

**The Brush repository does not publish a standalone documentation portal or pre-generated API reference; instead, it relies on README files distributed throughout the repository and inline Rust documentation that developers can render locally using `cargo doc`.**

According to the ArthurBrussee/brush source code, this Rust-based implementation for 3D Gaussian splatting follows a documentation-in-source approach rather than maintaining external websites. While the repository lacks a centralized documentation domain, it provides comprehensive setup and usage guidance through markdown files and code comments.

## README-Based Documentation Structure

Brush distributes its documentation across multiple **README files** rather than consolidating it on a single website. This approach ensures that documentation stays versioned with the code and lives in relevant subdirectories.

### Top-Level Project Documentation

The root [[`README.md`](https://github.com/ArthurBrussee/brush/blob/main/README.md)](https://github.com/ArthurBrussee/brush/blob/main/README.md) serves as the primary entry point and covers installation prerequisites, build instructions for native targets, WebAssembly, and Android, command-line interface (CLI) usage examples, and links to the live web demo at `https://arthurbrussee.github.io/brush-demo`.

### Crate-Specific README Files

Individual crates within the workspace maintain their own documentation:

- **[[`crates/brush-rerun/README.md`](https://github.com/ArthurBrussee/brush/blob/main/crates/brush-rerun/README.md)](https://github.com/ArthurBrussee/brush/blob/main/crates/brush-rerun/README.md)** — Brief usage notes for the Rerun visualization integration
- **[[`apps/brush-js/README.md`](https://github.com/ArthurBrussee/brush/blob/main/apps/brush-js/README.md)](https://github.com/ArthurBrussee/brush/blob/main/apps/brush-js/README.md)** — Instructions for the Vite + WebGPU JavaScript demonstration
- **[[`apps/brush-app/web/README.md`](https://github.com/ArthurBrussee/brush/blob/main/apps/brush-app/web/README.md)](https://github.com/ArthurBrussee/brush/blob/main/apps/brush-app/web/README.md)** — Build steps for the WASM web demo
- **[`crates/rrfd/README.md`](https://github.com/ArthurBrussee/brush/blob/main/crates/rrfd/README.md)** and **[`crates/lpips-convert/README.md`](https://github.com/ArthurBrussee/brush/blob/main/crates/lpips-convert/README.md)** — Utility crate documentation

## Generating the API Reference Locally

Because Brush is written in Rust, the project follows standard Rust documentation conventions using **doc comments**. No pre-published HTML API reference is provided in the repository or via GitHub Pages.

To generate the API reference locally, run:

```bash
cargo doc --open

```

This command processes the inline documentation found in source files such as [`src/lib.rs`](https://github.com/ArthurBrussee/brush/blob/main/src/lib.rs) and [`src/main.rs`](https://github.com/ArthurBrussee/brush/blob/main/src/main.rs) across all crates, producing a searchable HTML interface that mirrors docs.rs formatting.

### Building and Running from Source

To view available CLI options via the built-in help system:

```bash
cargo run --release -- --help

```

To build a WASM bundle for browser deployment (as documented in `apps/brush-js`):

```bash
cargo build --release --target wasm32-unknown-unknown
wasm-pack build --target web

```

## Web Demo vs. Documentation Site

The project hosts a live demonstration at `https://arthurbrussee.github.io/brush-demo`, which showcases the viewer capabilities. However, this URL functions strictly as an interactive demo, not a documentation website, and does not contain written guides or API specifications.

To build the web demo locally from source:

```bash
cd apps/brush-app/web
npm install
npm run dev

```

This starts a local server at `http://localhost:3000` serving the WASM-based application.

## Key Documentation Files

The following files provide authoritative guidance for different aspects of the project:

- **[[`README.md`](https://github.com/ArthurBrussee/brush/blob/main/README.md)](https://github.com/ArthurBrussee/brush/blob/main/README.md)** — Main project overview, build/run instructions, and quick start guide
- **[[`Cargo.toml`](https://github.com/ArthurBrussee/brush/blob/main/Cargo.toml)](https://github.com/ArthurBrussee/brush/blob/main/Cargo.toml)** — Project metadata definitions (no external documentation URL is configured)
- **[[`apps/brush-app/web/README.md`](https://github.com/ArthurBrussee/brush/blob/main/apps/brush-app/web/README.md)](https://github.com/ArthurBrussee/brush/blob/main/apps/brush-app/web/README.md)** — WebAssembly build prerequisites and Node.js setup
- **[[`apps/brush-js/README.md`](https://github.com/ArthurBrussee/brush/blob/main/apps/brush-js/README.md)](https://github.com/ArthurBrussee/brush/blob/main/apps/brush-js/README.md)** — JavaScript integration and bundling instructions
- **[[`crates/brush-rerun/README.md`](https://github.com/ArthurBrussee/brush/blob/main/crates/brush-rerun/README.md)](https://github.com/ArthurBrussee/brush/blob/main/crates/brush-rerun/README.md)** — Rerun visualization crate usage

## Summary

- **Brush does not maintain a separate documentation website** — all guides exist as markdown files within the repository.
- **No pre-published API reference exists** — developers must generate documentation locally using `cargo doc`.
- **Documentation is distributed** across the top-level README and per-crate README files for modular guidance.
- **The web demo** (`arthurbrussee.github.io/brush-demo`) demonstrates functionality but does not serve as documentation.
- **Standard Rust patterns** apply — inline doc comments provide the source material for API references.

## Frequently Asked Questions

### Is there an official Brush documentation website?

No, ArthurBrussee/brush does not operate a dedicated documentation website or custom domain. The project relies entirely on the GitHub repository's README files and source code documentation to provide setup instructions and usage guidance.

### How do I view the Brush API reference?

You must generate the API reference locally using Rust's documentation toolchain. Execute `cargo doc --open` from the repository root to compile inline doc comments into a searchable HTML interface. This process renders documentation for all public functions, traits, and modules across the workspace crates.

### What documentation exists for the Brush web demo?

The web demo documentation resides in [[`apps/brush-app/web/README.md`](https://github.com/ArthurBrussee/brush/blob/main/apps/brush-app/web/README.md)](https://github.com/ArthurBrussee/brush/blob/main/apps/brush-app/web/README.md), which covers Node.js installation, WASM build steps, and development server startup. The live demo URL provides an interactive viewer but no written documentation.

### Are there README files for specific Brush crates?

Yes, individual crates such as `brush-rerun`, `rrfd`, and `lpips-convert` include dedicated README files within their respective `crates/` directories. These files contain crate-specific usage notes and integration examples, while the top-level README covers the entire project architecture.