Skip to content

Commit

Permalink
Merge branch 'refs/heads/main' into antoine/list-item-component-list
Browse files Browse the repository at this point in the history
  • Loading branch information
abey79 committed May 20, 2024
2 parents e08c88a + 3a66d55 commit 3ee706f
Show file tree
Hide file tree
Showing 767 changed files with 6,915 additions and 5,536 deletions.
1 change: 0 additions & 1 deletion .github/workflows/reusable_build_examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,6 @@ jobs:
run: |
pixi run -e wheel-test python -m rerun --version
pixi run -e wheel-test which rerun
pixi run -e wheel-test rerun --version
- name: Get sha
id: get-sha
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -203,4 +203,4 @@ jobs:
# When given a directory, lychee checks only markdown, html and text files, everything else we have to glob in manually.
# Pass --verbose, so that all considered links are printed, making it easier to debug.
args: |
--verbose --base . "**/*.rs" "**/*.toml" "**/*.hpp" "**/*.cpp" "**/CMakeLists.txt" "**/*.py" "**/*.yml"
--verbose --base . "**/*.md" "**/*.rs" "**/*.toml" "**/*.hpp" "**/*.cpp" "**/CMakeLists.txt" "**/*.py" "**/*.yml"
24 changes: 10 additions & 14 deletions .github/workflows/reusable_publish_web.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,35 +88,31 @@ jobs:

- name: Install example dependencies
run: |
pixi run pip install \
-r scripts/ci/requirements-examples-nightly.txt \
--no-input
pixi run -e wheel-test build-examples install --channel "release"
- name: Install Python dependencies and wheel
- name: Install built wheel
run: |
pixi -e wheel-test run pip uninstall rerun-sdk -y
pixi -e wheel-test run pip install deprecated '"numpy>=1.23,<2"' pyarrow>=14.0.2 pytest==7.1.2
pixi -e wheel-test run pip install rerun-sdk --no-index --find-links wheel
pixi run -e wheel-test pip uninstall rerun-sdk -y
pixi run -e wheel-test pip install rerun-sdk --no-index --find-links wheel
- name: Installed wheel version
- name: Print wheel version
run: |
pixi -e wheel-test run python -m rerun --version
pixi -e wheel-test run which rerun
pixi -e wheel-test run rerun --version
pixi run -e wheel-test python -m rerun --version
pixi run -e wheel-test which rerun
- name: Build web-viewer (release)
run: |
pixi -e wheel-test run rerun-build-web-release
pixi run -e wheel-test rerun-build-web-release
- name: Build examples
run: |
pixi -e wheel-test run build-examples rrd \
pixi run -e wheel-test build-examples rrd \
--channel "release" \
web_viewer/examples
- name: Build examples manifest
run: |
pixi -e wheel-test run build-examples manifest \
pixi run -e wheel-test build-examples manifest \
--base-url "https://app.rerun.io/version/${{inputs.release-version}}" \
--channel "release" \
web_viewer/examples_manifest.json
Expand Down
16 changes: 8 additions & 8 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@ The logging SDK:s encodes the data using Apache Arrow (see more below).

The logging data can be written to disk as `.rrd` files, or transmitted over TCP to either a Rerun Viewer or a Rerun Server.

### Rerun viewer
### Rerun Viewer
The Rerun Viewer is where log data is visualized. It is usually run as a native app, but can also be compiled to WebAssembly (Wasm) and run in a browser.

#### Native viewer
The easiest way to launch the viewer is directly from the logging API with `rr.init("rerun_example_app", spawn=True)`. However, the standalone viewer can also be run from the command line, for example to view an `.rrd` file: `rerun mydata.rrd`.
#### Native Viewer
The easiest way to launch the Viewer is directly from the logging API with `rr.init("rerun_example_app", spawn=True)`. However, the standalone Viewer can also be run from the command line, for example to view an `.rrd` file: `rerun mydata.rrd`.

#### Web viewer
You can try running the viewer in a browser using `rr.serve()` in python, or using `rerun --web-viewer mydata.rrd`.
You can try running the Viewer in a browser using `rr.serve()` in python, or using `rerun --web-viewer mydata.rrd`.

The web viewer consists of just a few small files - a thin `.html`, a `.wasm` blob, and an auto-generated `.js` bridge for the wasm. These files are served using the [`re_web_viewer_server`](https://github.com/rerun-io/rerun/tree/latest/crates/re_web_viewer_server) crate.

Expand Down Expand Up @@ -113,7 +113,7 @@ Update instructions:
| Crate | Description |
|-----------|--------------------------------------|
| rerun-cli | Rerun native CLI binary crate |
| rerun | Rerun Rust SDK and viewer shim crate |
| Rerun | Rerun Rust SDK and Viewer shim crate |
| rerun_c | Rerun C SDK |
| rerun_py | Rerun Python SDK |
| re_sdk | Rerun logging SDK |
Expand All @@ -126,11 +126,11 @@ Update instructions:

| Crate | Description |
|-----------------------------|----------------------------------------------------------------------------------------|
| re_viewer | The Rerun viewer |
| re_viewer | The Rerun Viewer |
| re_viewport | The central viewport panel of the Rerun viewer. |
| re_time_panel | The time panel of the Rerun Viewer, allowing to control the displayed timeline & time. |
| re_data_ui | Provides ui elements for Rerun component data for the Rerun Viewer. |
| re_viewer_context | Rerun viewer state that is shared with the viewer's code components. |
| re_viewer_context | Rerun Viewer state that is shared with the viewer's code components. |
| re_ui | Rerun GUI theme and helpers, built around egui |
| re_renderer | A wgpu-based renderer for all your visualization needs. |
| re_space_view | Types & utilities for defining Space View classes and communicating with the Viewport. |
Expand Down Expand Up @@ -170,7 +170,7 @@ Update instructions:
|----------------------|--------------------------------------------------------------------------------------------------------|
| re_sdk_comms | TCP communication between Rerun SDK and Rerun Server |
| re_web_viewer_server | Serves the Rerun web viewer (Wasm and HTML) over HTTP |
| re_ws_comms | WebSocket communication library (encoding, decoding, client, server) between a Rerun server and viewer |
| re_ws_comms | WebSocket communication library (encoding, decoding, client, server) between a Rerun server and Viewer |
| re_data_loader | Handles loading of Rerun data from file using data loader plugins |
| re_data_source | Handles loading of Rerun data from different sources |

Expand Down
22 changes: 11 additions & 11 deletions BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ If you are using an Apple-silicon Mac (M1, M2), make sure `rustc -vV` outputs `h
rustup set default-host aarch64-apple-darwin && rustup install 1.76.0
```

## Building and running the viewer
## Building and running the Viewer

Use this command for building and running the viewer:

Expand All @@ -57,12 +57,12 @@ Rerun is available as a package on PyPi and can be installed with `pip install r

Additionally, nightly dev wheels from head of `main` are available at <https://github.com/rerun-io/rerun/releases/tag/prerelease>.

If you want to build from source, you can do so easily in the pixi environment:
* Run `pixi run py-build --release` to build SDK & viewer for python (or `pixi run py-build` for a debug build)
* Then you can run examples from the repository, either by making the pixi shell active with `pixi shell` and then running python or by using `pixi run`, e.g. `pixi run python examples/python/minimal/minimal.py`
If you want to build from source, you can do so easily in the Pixi environment:
* Run `pixi run py-build --release` to build SDK & Viewer for Python (or `pixi run py-build` for a debug build)
* Then you can run examples from the repository, either by making the Pixi shell active with `pixi shell` and then running Python or by using `pixi run`, e.g. `pixi run Python examples/python/minimal/minimal.py`


### Tests & Tooling
### Tests & tooling

```sh
# Run the unit tests
Expand All @@ -75,12 +75,12 @@ pixi run py-lint
pixi run py-fmt
```

### Building an installable Python Wheel
### Building an installable Python wheel
The `py-wheel` command builds a whl file:
```sh
pixi run py-wheel --release
```
Which you can then install in your own python environment:
Which you can then install in your own Python environment:
```sh
pip install ./target/wheels/*.whl
```
Expand All @@ -100,16 +100,16 @@ pixi run cpp-build-all

## Building the docs

High-level documentation for rerun can be found at [http://rerun.io/docs](http://rerun.io/docs). It is built from the separate repository [rerun-docs](https://github.com/rerun-io/rerun-docs).
High-level documentation for Rerun can be found at [http://rerun.io/docs](http://rerun.io/docs). It is built from the separate repository [rerun-docs](https://github.com/rerun-io/rerun-docs).

- 🌊 [C++ API docs](https://ref.rerun.io/docs/cpp) are built with `doxygen` and hosted on GitHub. Use `pixi run cpp-docs` to build them locally. For details on the C++ doc-system, see [Writing Docs](rerun_cpp/docs/writing_docs.md).
- 🐍 [Python API docs](https://ref.rerun.io/docs/python) are built via `mkdocs` and hosted on GitHub. For details on the python doc-system, see [Writing Docs](rerun_py/docs/writing_docs.md).
- 🐍 [Python API docs](https://ref.rerun.io/docs/python) are built via `mkdocs` and hosted on GitHub. For details on the Python doc-system, see [Writing Docs](rerun_py/docs/writing_docs.md).
- 🦀 [Rust API docs](https://docs.rs/rerun/) are hosted on <https://docs.rs/rerun/>. You can build them locally with: `cargo doc --all-features --no-deps --open`.

## Building for the web

If you want to build a standalone rerun executable that contains the web-viewer and a websocket server,
you need to install the `wasm32-unknown-unknown` rust target and ensure the `web_viewer` feature flag is set when building rerun.
If you want to build a standalone Rerun executable that contains the web-viewer and a websocket server,
you need to install the `wasm32-unknown-unknown` Rust target and ensure the `web_viewer` feature flag is set when building rerun.
This is automatically done by this shortcut which builds & runs the web viewer:
```
pixi run rerun-web
Expand Down
Loading

0 comments on commit 3ee706f

Please sign in to comment.