From dda5c483eb2c188f07df62befcab27edcd2a9226 Mon Sep 17 00:00:00 2001
From: Andreas Reich
Date: Tue, 28 Nov 2023 15:24:38 +0100
Subject: [PATCH] Release 0.11 (#4347)
### What
* Fixes #4267
TODO for final release:
* [x] Update links, fix all `?speculative-link`
* [x] cherry pick https://github.com/rerun-io/rerun/pull/4349
* [x] cherry pick https://github.com/rerun-io/rerun/pull/4350
* [x] cherry pick https://github.com/rerun-io/rerun/pull/4351
* [x] cherry pick https://github.com/rerun-io/rerun/pull/4354
* [x] Write changelog (and review thereof)
* Known limitation of Visible History worth mentioning:
* [x] https://github.com/rerun-io/rerun/pull/4270
* [x] https://github.com/rerun-io/rerun/issues/723
* [x] testing:
* special care this time about:
* Blueprint error messages (use outdated stuff you have on your machine
to stretch it!)
* UI changes (selection panel, visual history things - in particular on
the plot)
* C++ cmake install (follow public instructions - if they don't help the
instructions are bad!)
* [x] Windows
* [x] Native
* blueprint ok 0.10.0-rc.1 -> 0.11-rc.1
* found spurious wgpu related crash, seems to be fixed on latest wgpu.
Details on Slack
* C++ visual studio project for unziped sdk works
* Cmake install works. With path with spaces after applying
https://github.com/rerun-io/rerun/pull/4351
* [x] Browser
* [x] Linux
* [x] Native
* [x] Browser
* [x] Mac
* [x] Native
* [x] blueprint ok 0.10.1 -> 0.11
* [x] UI changes ok
* [x] Browser
* [x] python package (any platform)
* [x] tested on mac, seems ok except:
* [x] ~~couldn't load example rrds~~ fixed
* [x] C++ cmake install (any platform)
* tested on linux
* [x] Rust crate (any platform)
* [x] finish opencv/eigen example update
TODO just after release:
* [x] Update webpage with blog
* [x] Merge opencv/eigen example update
* [x] github release update
* [x] post on social
### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested [app.rerun.io](https://app.rerun.io/pr/4347) (if
applicable)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG
- [PR Build Summary](https://build.rerun.io/pr/4347)
- [Docs
preview](https://rerun.io/preview/01b4186b37fc910491879dfd90433aeb940a5c89/docs)
- [Examples
preview](https://rerun.io/preview/01b4186b37fc910491879dfd90433aeb940a5c89/examples)
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
---------
Co-authored-by: Emil Ernerfeldt
Co-authored-by: rerun-bot
Co-authored-by: jprochazk <1665677+jprochazk@users.noreply.github.com>
Co-authored-by: Jeremy Leibs
---
.github/workflows/release.yml | 15 +-
.github/workflows/reusable_publish_npm.yml | 16 +-
.github/workflows/reusable_publish_web.yml | 23 ---
.github/workflows/reusable_publish_wheels.yml | 5 -
CHANGELOG.md | 83 +++++++++
Cargo.lock | 162 +++++++++---------
Cargo.toml | 88 +++++-----
RELEASES.md | 11 +-
.../src/time_histogram_per_timeline.rs | 2 +-
.../re_types_builder/src/codegen/docs/mod.rs | 2 +-
.../data/quick_start_guides/cpp_connect.md | 2 +-
docs/content/getting-started/cpp.md | 6 +-
docs/content/getting-started/logging-cpp.md | 3 +-
.../content/getting-started/logging-python.md | 4 +-
docs/content/getting-started/rust.md | 2 +-
docs/content/reference/cpp.md | 2 +-
.../types/archetypes/annotation_context.md | 2 +-
.../reference/types/archetypes/arrows3d.md | 2 +-
.../reference/types/archetypes/asset3d.md | 2 +-
.../reference/types/archetypes/bar_chart.md | 2 +-
.../reference/types/archetypes/boxes2d.md | 2 +-
.../reference/types/archetypes/boxes3d.md | 2 +-
.../reference/types/archetypes/clear.md | 2 +-
.../reference/types/archetypes/depth_image.md | 2 +-
.../types/archetypes/disconnected_space.md | 2 +-
.../reference/types/archetypes/image.md | 2 +-
.../types/archetypes/line_strips2d.md | 2 +-
.../types/archetypes/line_strips3d.md | 2 +-
.../reference/types/archetypes/mesh3d.md | 2 +-
.../reference/types/archetypes/pinhole.md | 2 +-
.../reference/types/archetypes/points2d.md | 2 +-
.../reference/types/archetypes/points3d.md | 2 +-
.../types/archetypes/segmentation_image.md | 2 +-
.../reference/types/archetypes/tensor.md | 2 +-
.../types/archetypes/text_document.md | 2 +-
.../reference/types/archetypes/text_log.md | 2 +-
.../types/archetypes/time_series_scalar.md | 2 +-
.../reference/types/archetypes/transform3d.md | 2 +-
.../types/archetypes/view_coordinates.md | 2 +-
.../types/components/annotation_context.md | 2 +-
.../reference/types/components/blob.md | 2 +-
.../reference/types/components/class_id.md | 2 +-
.../types/components/clear_is_recursive.md | 2 +-
.../reference/types/components/color.md | 2 +-
.../reference/types/components/depth_meter.md | 2 +-
.../types/components/disconnected_space.md | 2 +-
.../reference/types/components/draw_order.md | 2 +-
.../types/components/half_sizes2d.md | 2 +-
.../types/components/half_sizes3d.md | 2 +-
.../types/components/instance_key.md | 2 +-
.../reference/types/components/keypoint_id.md | 2 +-
.../types/components/line_strip2d.md | 2 +-
.../types/components/line_strip3d.md | 2 +-
.../reference/types/components/material.md | 2 +-
.../reference/types/components/media_type.md | 2 +-
.../types/components/mesh_properties.md | 2 +-
.../components/out_of_tree_transform3d.md | 2 +-
.../types/components/pinhole_projection.md | 2 +-
.../reference/types/components/position2d.md | 2 +-
.../reference/types/components/position3d.md | 2 +-
.../reference/types/components/radius.md | 2 +-
.../reference/types/components/resolution.md | 2 +-
.../reference/types/components/rotation3d.md | 2 +-
.../reference/types/components/scalar.md | 2 +-
.../types/components/scalar_scattering.md | 2 +-
.../reference/types/components/tensor_data.md | 2 +-
.../reference/types/components/text.md | 2 +-
.../types/components/text_log_level.md | 2 +-
.../reference/types/components/transform3d.md | 2 +-
.../reference/types/components/vector3d.md | 2 +-
.../types/components/view_coordinates.md | 2 +-
.../reference/types/datatypes/angle.md | 2 +-
.../types/datatypes/annotation_info.md | 2 +-
.../types/datatypes/class_description.md | 2 +-
.../datatypes/class_description_map_elem.md | 2 +-
.../reference/types/datatypes/class_id.md | 2 +-
.../reference/types/datatypes/float32.md | 2 +-
.../reference/types/datatypes/keypoint_id.md | 2 +-
.../types/datatypes/keypoint_pair.md | 2 +-
.../reference/types/datatypes/mat3x3.md | 2 +-
.../reference/types/datatypes/mat4x4.md | 2 +-
.../reference/types/datatypes/material.md | 2 +-
.../types/datatypes/mesh_properties.md | 2 +-
.../reference/types/datatypes/quaternion.md | 2 +-
.../reference/types/datatypes/rgba32.md | 2 +-
.../reference/types/datatypes/rotation3d.md | 2 +-
.../types/datatypes/rotation_axis_angle.md | 2 +-
.../reference/types/datatypes/scale3d.md | 2 +-
.../types/datatypes/tensor_buffer.md | 2 +-
.../reference/types/datatypes/tensor_data.md | 2 +-
.../types/datatypes/tensor_dimension.md | 2 +-
.../reference/types/datatypes/transform3d.md | 2 +-
.../types/datatypes/translation_and_mat3x3.md | 2 +-
.../datatypes/translation_rotation_scale3d.md | 2 +-
.../reference/types/datatypes/uint32.md | 2 +-
.../content/reference/types/datatypes/utf8.md | 2 +-
.../reference/types/datatypes/uvec2d.md | 2 +-
.../reference/types/datatypes/uvec3d.md | 2 +-
.../reference/types/datatypes/uvec4d.md | 2 +-
.../reference/types/datatypes/vec2d.md | 2 +-
.../reference/types/datatypes/vec3d.md | 2 +-
.../reference/types/datatypes/vec4d.md | 2 +-
docs/cspell.json | 3 +
.../cpp/custom_collection_adapter/README.md | 12 +-
examples/rust/clock/Cargo.toml | 2 +-
examples/rust/custom_space_view/Cargo.toml | 2 +-
.../rust/custom_store_subscriber/Cargo.toml | 2 +-
examples/rust/dna/Cargo.toml | 2 +-
examples/rust/extend_viewer_ui/Cargo.toml | 2 +-
examples/rust/minimal/Cargo.toml | 2 +-
examples/rust/minimal_options/Cargo.toml | 2 +-
examples/rust/minimal_serve/Cargo.toml | 2 +-
examples/rust/objectron/Cargo.toml | 2 +-
examples/rust/raw_mesh/Cargo.toml | 2 +-
examples/rust/spawn_viewer/Cargo.toml | 2 +-
examples/rust/template/Cargo.toml | 2 +-
rerun_cpp/README.md | 2 +-
rerun_cpp/src/rerun/c/rerun.h | 2 +-
rerun_js/web-viewer/README.md | 17 +-
rerun_js/web-viewer/index.js | 17 +-
rerun_js/web-viewer/package.json | 2 +-
rerun_js/web-viewer/react/README.md | 16 +-
rerun_js/web-viewer/react/package.json | 5 +-
rerun_js/web-viewer/scripts/common.mjs | 10 ++
rerun_js/web-viewer/scripts/publish.mjs | 36 +++-
rerun_js/web-viewer/scripts/version.mjs | 12 +-
scripts/generate_changelog.py | 12 +-
127 files changed, 447 insertions(+), 321 deletions(-)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index bf736e8fdb63..bd0f4bdee331 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -141,6 +141,12 @@ jobs:
run: |
node rerun_js/web-viewer/scripts/version.mjs ${{ steps.versioning.outputs.current }}
+ - name: Update rerun_c version
+ shell: bash
+ # Configuring CMake is enough to change the version on rerun.h!
+ run: |
+ cmake -B build -S .
+
- run: taplo fmt
shell: bash
@@ -224,7 +230,6 @@ jobs:
release-version: ${{ needs.version.outputs.current }}
concurrency: ${{ github.ref_name }}
linux-wheel-name: linux-wheel
- linux-rrd-name: linux-rrd
release-commit: ${{ needs.version.outputs.release-commit }}
secrets: inherit
@@ -237,7 +242,6 @@ jobs:
release-commit: ${{ needs.version.outputs.release-commit }}
concurrency: ${{ github.ref_name }}
wheel-artifact-name: linux-wheel
- rrd-artifact-name: linux-rrd
update-latest: ${{ inputs.release-type == 'final' }}
secrets: inherit
@@ -345,11 +349,6 @@ jobs:
python3 scripts/ci/crates.py version --bump auto
echo "version=$(python3 scripts/ci/crates.py get-version)" >> "$GITHUB_OUTPUT"
- - name: Update NPM versions
- shell: bash
- run: |
- node rerun_js/web-viewer/scripts/version.mjs ${{ steps.update-version.outputs.version }}
-
- run: taplo fmt
shell: bash
@@ -359,6 +358,7 @@ jobs:
git config --global user.name "rerun-bot"
git config --global user.email "bot@rerun.io"
git commit -am "Bump versions to ${{ steps.update-version.outputs.version }}"
+ git pull --rebase
git push
comment-artifact-links:
@@ -426,3 +426,4 @@ jobs:
EOF
gh pr comment $pr_number --body-file comment-body.txt
+
diff --git a/.github/workflows/reusable_publish_npm.yml b/.github/workflows/reusable_publish_npm.yml
index 2ca14898d39a..98b02b08e1a4 100644
--- a/.github/workflows/reusable_publish_npm.yml
+++ b/.github/workflows/reusable_publish_npm.yml
@@ -58,20 +58,14 @@ jobs:
workload_identity_provider: ${{ secrets.GOOGLE_WORKLOAD_IDENTITY_PROVIDER }}
service_account: ${{ secrets.GOOGLE_SERVICE_ACCOUNT }}
- - name: Install dependencies
- shell: bash
- run: |
- node rerun_js/web-viewer/scripts/install.mjs
-
- - name: Build package
- shell: bash
- run: |
- node rerun_js/web-viewer/scripts/build.mjs
+ - uses: prefix-dev/setup-pixi@v0.3.0
+ with:
+ pixi-version: v0.6.0
- - name: Publish package
+ - name: Publish packages
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
shell: bash
run: |
- node rerun_js/web-viewer/scripts/publish.mjs
+ pixi run node rerun_js/web-viewer/scripts/publish.mjs
diff --git a/.github/workflows/reusable_publish_web.yml b/.github/workflows/reusable_publish_web.yml
index 1a648fd17aab..47a46bdd19de 100644
--- a/.github/workflows/reusable_publish_web.yml
+++ b/.github/workflows/reusable_publish_web.yml
@@ -18,10 +18,6 @@ on:
description: "Name of the wheel to use when running examples"
type: string
required: true
- rrd-artifact-name:
- description: "Name of the .rrd file to use for app.rerun.io"
- type: string
- required: true
update-latest:
description: "Whether to update the latest version of demo/app"
type: boolean
@@ -87,12 +83,6 @@ jobs:
name: ${{ inputs.wheel-artifact-name }}
path: wheel
- - name: Download .rrd for app.rerun.io
- uses: actions/download-artifact@v3
- with:
- name: ${{ inputs.rrd-artifact-name }}
- path: rrd
-
- name: Install Python dependencies and wheel
shell: bash
run: |
@@ -121,13 +111,6 @@ jobs:
run: |
pixi run python3 scripts/ci/build_demo_app.py --skip-build
- - name: Upload .rrd for app.rerun.io
- uses: google-github-actions/upload-cloud-storage@v1
- with:
- path: "rrd"
- destination: "rerun-example-rrd/version/${{ inputs.release-version }}"
- parent: false
-
- name: Upload app.rerun.io (versioned)
uses: google-github-actions/upload-cloud-storage@v1
with:
@@ -149,12 +132,6 @@ jobs:
destination: "rerun-demo/version/${{ inputs.release-version }}"
parent: false
- - name: Publish app.rerun.io
- if: inputs.update-latest
- shell: bash
- run: |
- gsutil -m cp -r 'gs://rerun-example-rrd/version/${{ inputs.release-version }}/*' gs://rerun-example-rrd/version/latest
-
- name: Publish app.rerun.io
if: inputs.update-latest
shell: bash
diff --git a/.github/workflows/reusable_publish_wheels.yml b/.github/workflows/reusable_publish_wheels.yml
index 49201a1a3199..0cca3881fc1c 100644
--- a/.github/workflows/reusable_publish_wheels.yml
+++ b/.github/workflows/reusable_publish_wheels.yml
@@ -14,10 +14,6 @@ on:
description: "Name of the wheel built for linux"
type: string
required: true
- linux-rrd-name:
- description: "Name of the .rrd file built for linux"
- type: string
- required: true
release-commit:
description: "Which commit to build+publish"
type: string
@@ -215,4 +211,3 @@ jobs:
with:
command: upload
args: --skip-existing wheels/*
-
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ff19240adc51..74c0657bb101 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,89 @@
## [Unreleased](https://github.com/rerun-io/rerun/compare/latest...HEAD)
+## [0.11.0](https://github.com/rerun-io/rerun/compare/0.10.1...0.11.0)
+
+### Overview & Highlights
+
+- π C++ SDK improvements
+ - [Reference docs are live!](https://ref.rerun.io/docs/cpp/)
+ - 2x-5x faster logging
+ - CMake install support and other CMake setup improvements
+ - Support for custom components & archetypes
+ - Zero copy logging for images, various API improvements
+- π Visual History -> Visual Time Range
+ - Time series plots can now limit its query to a range
+ - Much more powerful UI, allowing query ranges relative to time cursor
+- πΈοΈ The viewer can now be easily embedded in your web apps via our [npm package](https://www.npmjs.com/package/@rerun-io/web-viewer)
+- π β οΈ Legacy Python API now removed, check the [migration guide](https://github.com/rerun-io/rerun/issues/723) if you're not using `rr.log` yet
+- π¦ The new `StoreSubscriber` trait allows to be notified of all changes in the datastore. This can be used to build custom indices and trigger systems, and serves as a foundation for upcoming performance improvements. Check out [our example](https://github.com/rerun-io/rerun/blob/main/examples/rust/custom_store_subscriber/README.md) for more information.
+
+β οΈ Known issues on Visual Time Range:
+- Time cursor [sometimes stops scrolling correctly](https://github.com/rerun-io/rerun/issues/4246) on plot window
+- Still [doesn't work with transforms](https://github.com/rerun-io/rerun/issues/723)
+
+Special thanks to @dvad & @dangush for contributing!
+
+### Details
+
+#### π C++ SDK
+- Support std::chrono types for `set_time` on `rerun::RecordingStream` [#4134](https://github.com/rerun-io/rerun/pull/4134)
+- Improve rerun_cpp readme & CMakeLists.txt [#4126](https://github.com/rerun-io/rerun/pull/4126)
+- Replace the many parameters of `rerun::spawn` / `rerun::RecordingStream::spawn` with a `struct` [#4149](https://github.com/rerun-io/rerun/pull/4149)
+- Make on TextLogLevel PascalCase (instead of SCREAMING CASE) to avoid clashes with preprocessor defines [#4152](https://github.com/rerun-io/rerun/pull/4152)
+- Reduce rerun_c library size (by depending on fewer unnecessary crates) [#4147](https://github.com/rerun-io/rerun/pull/4147)
+- Fix unnecessary includes in code generated headers [#4132](https://github.com/rerun-io/rerun/pull/4132)
+- Doxygen documentation & many doc improvements [#4191](https://github.com/rerun-io/rerun/pull/4191)
+- Rename `rerun::ComponentBatch` to `rerun::Collection` (and related constructs) [#4236](https://github.com/rerun-io/rerun/pull/4236)
+- Use `rerun::Collection` almost everywhere we'd use `std::vector` before [#4247](https://github.com/rerun-io/rerun/pull/4247)
+- Significantly improve C++ logging performance by using C FFI instead of arrow IPC [#4273](https://github.com/rerun-io/rerun/pull/4273)
+- Further improve C++ logging for many individual log calls by introducing a component type registry [#4296](https://github.com/rerun-io/rerun/pull/4296)
+- All C++ datatypes & components now implement a new Loggable trait [#4305](https://github.com/rerun-io/rerun/pull/4305)
+- Add C++ Custom Component example [#4309](https://github.com/rerun-io/rerun/pull/4309)
+- Expose Rerun source/include dir in CMakeLists.txt (`RERUN_CPP_SOURCE_DIR`) [#4313](https://github.com/rerun-io/rerun/pull/4313)
+- Support cmake install [#4326](https://github.com/rerun-io/rerun/pull/4326)
+- Export TensorBuffer & TensorDimension to rerun namespace [#4331](https://github.com/rerun-io/rerun/pull/4331)
+- C++ SDK sanity checks now header/source version against rerun_c binary version [#4330](https://github.com/rerun-io/rerun/pull/4330)
+- Allow creating Image/Tensor/DepthImage/SegmentationImage directly from shape & pointer [#4345](https://github.com/rerun-io/rerun/pull/4345)
+
+#### π Python SDK
+- Python: remove legacy APIs [#4037](https://github.com/rerun-io/rerun/pull/4037)
+- Remove deprecated `rerun_demo` package [#4293](https://github.com/rerun-io/rerun/pull/4293)
+- Python: don't catch `KeyboardInterrupt` and `SystemExit` [#4333](https://github.com/rerun-io/rerun/pull/4333) (thanks [@Dvad](https://github.com/Dvad)!)
+
+#### πͺ³ Bug Fixes
+- Fix line & points (& depth clouds points) radii being unaffected by scale & projection via Pinhole [#4199](https://github.com/rerun-io/rerun/pull/4199)
+- Fix inaccessible entities being incorrectly added to space view [#4226](https://github.com/rerun-io/rerun/pull/4226)
+- Silence spammy blueprint warnings and validate blueprint on load [#4303](https://github.com/rerun-io/rerun/pull/4303)
+- Fix markdown heading size [#4178](https://github.com/rerun-io/rerun/pull/4178)
+
+#### π Viewer Improvements
+- Add command to copy direct link to fully qualified URL [#4165](https://github.com/rerun-io/rerun/pull/4165)
+- Implement recording/last-modified-at aware garbage collection [#4183](https://github.com/rerun-io/rerun/pull/4183)
+
+#### πΌ UI Improvements
+- Improve Visible History to support more general time queries [#4123](https://github.com/rerun-io/rerun/pull/4123)
+- Add support for Visible History to time series space views [#4179](https://github.com/rerun-io/rerun/pull/4179)
+- Make Visible History UI more ergonomic and show inherited values [#4222](https://github.com/rerun-io/rerun/pull/4222)
+- Display Visible History on timeline when the mouse hovers the UI [#4259](https://github.com/rerun-io/rerun/pull/4259)
+- Improve the Selection Panel with better title, context, and Space View key properties [#4324](https://github.com/rerun-io/rerun/pull/4324)
+
+#### πΈοΈ Web
+- Put web viewer on `npm` [#4003](https://github.com/rerun-io/rerun/pull/4003)
+- Auto-switch port when getting AddrInUse error [#4314](https://github.com/rerun-io/rerun/pull/4314) (thanks [@dangush](https://github.com/dangush)!)
+- Generate per-PR web apps [#4341](https://github.com/rerun-io/rerun/pull/4341)
+
+#### π§βπ» Dev-experience
+- Simple logging benchmarks for C++ & Rust [#4181](https://github.com/rerun-io/rerun/pull/4181)
+- New debug option to show the blueprint in the streams view [#4189](https://github.com/rerun-io/rerun/pull/4189)
+- Use pixi over setup scripts on CI + local dev [#4302](https://github.com/rerun-io/rerun/pull/4302)
+- Run deploy docs jobs serially [#4232](https://github.com/rerun-io/rerun/pull/4232)
+- fix windows test config on main [#4242](https://github.com/rerun-io/rerun/pull/4242)
+
+#### π£ Refactors
+- `StoreView` -> `StoreSubscriber` [#4234](https://github.com/rerun-io/rerun/pull/4234)
+- `DataStore` introduce `StoreEvent`s [#4203](https://github.com/rerun-io/rerun/pull/4203)
+- `DataStore` introduce `StoreView`s [#4205](https://github.com/rerun-io/rerun/pull/4205)
## [0.10.1](https://github.com/rerun-io/rerun/compare/0.10.0...0.10.1)
diff --git a/Cargo.lock b/Cargo.lock
index a3f50f31e356..f533e2125003 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -909,7 +909,7 @@ dependencies = [
[[package]]
name = "clock"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -949,7 +949,7 @@ dependencies = [
[[package]]
name = "code_examples"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"ndarray",
"rand",
@@ -1261,7 +1261,7 @@ dependencies = [
[[package]]
name = "custom_space_view"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"mimalloc",
"re_crash_handler",
@@ -1272,7 +1272,7 @@ dependencies = [
[[package]]
name = "custom_store_subscriber"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"re_build_tools",
"rerun",
@@ -1388,7 +1388,7 @@ dependencies = [
[[package]]
name = "dna"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"itertools 0.11.0",
"rand",
@@ -1780,7 +1780,7 @@ dependencies = [
[[package]]
name = "extend_viewer_ui"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"mimalloc",
"re_crash_handler",
@@ -2804,7 +2804,7 @@ dependencies = [
[[package]]
name = "log_benchmark"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"bytemuck",
@@ -2956,7 +2956,7 @@ dependencies = [
[[package]]
name = "minimal"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"rerun",
]
@@ -2969,7 +2969,7 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
[[package]]
name = "minimal_options"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -2979,7 +2979,7 @@ dependencies = [
[[package]]
name = "minimal_serve"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"rerun",
"tokio",
@@ -3371,7 +3371,7 @@ dependencies = [
[[package]]
name = "objectron"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -3994,7 +3994,7 @@ checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
[[package]]
name = "raw_mesh"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"bytes",
@@ -4034,7 +4034,7 @@ dependencies = [
[[package]]
name = "re_analytics"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"crossbeam",
"directories-next",
@@ -4053,7 +4053,7 @@ dependencies = [
[[package]]
name = "re_arrow_store"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"ahash 0.8.5",
"anyhow",
@@ -4084,11 +4084,11 @@ dependencies = [
[[package]]
name = "re_build_info"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
[[package]]
name = "re_build_tools"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"cargo_metadata",
@@ -4101,7 +4101,7 @@ dependencies = [
[[package]]
name = "re_build_web_viewer"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"cargo_metadata",
@@ -4111,7 +4111,7 @@ dependencies = [
[[package]]
name = "re_crash_handler"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"backtrace",
"itertools 0.11.0",
@@ -4123,7 +4123,7 @@ dependencies = [
[[package]]
name = "re_data_source"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"image",
@@ -4142,7 +4142,7 @@ dependencies = [
[[package]]
name = "re_data_store"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"ahash 0.8.5",
"anyhow",
@@ -4172,7 +4172,7 @@ dependencies = [
[[package]]
name = "re_data_ui"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"ahash 0.8.5",
"anyhow",
@@ -4199,14 +4199,14 @@ dependencies = [
[[package]]
name = "re_error"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
]
[[package]]
name = "re_format"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"arrow2",
"comfy-table",
@@ -4215,7 +4215,7 @@ dependencies = [
[[package]]
name = "re_int_histogram"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"criterion",
"insta",
@@ -4226,7 +4226,7 @@ dependencies = [
[[package]]
name = "re_log"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"env_logger",
"js-sys",
@@ -4239,7 +4239,7 @@ dependencies = [
[[package]]
name = "re_log_encoding"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"criterion",
"ehttp",
@@ -4264,7 +4264,7 @@ dependencies = [
[[package]]
name = "re_log_types"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"ahash 0.8.5",
"anyhow",
@@ -4299,7 +4299,7 @@ dependencies = [
[[package]]
name = "re_memory"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"ahash 0.8.5",
"backtrace",
@@ -4320,7 +4320,7 @@ dependencies = [
[[package]]
name = "re_query"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"arrow2",
"backtrace",
@@ -4343,7 +4343,7 @@ dependencies = [
[[package]]
name = "re_renderer"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"ahash 0.8.5",
"anyhow",
@@ -4396,7 +4396,7 @@ dependencies = [
[[package]]
name = "re_sdk"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"ahash 0.8.5",
"anyhow",
@@ -4426,7 +4426,7 @@ dependencies = [
[[package]]
name = "re_sdk_comms"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"ahash 0.8.5",
"crossbeam",
@@ -4442,7 +4442,7 @@ dependencies = [
[[package]]
name = "re_smart_channel"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"crossbeam",
"parking_lot 0.12.1",
@@ -4452,7 +4452,7 @@ dependencies = [
[[package]]
name = "re_space_view"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"egui",
"itertools 0.11.0",
@@ -4470,7 +4470,7 @@ dependencies = [
[[package]]
name = "re_space_view_bar_chart"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"egui",
"egui_plot",
@@ -4488,7 +4488,7 @@ dependencies = [
[[package]]
name = "re_space_view_spatial"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"ahash 0.8.5",
"anyhow",
@@ -4522,7 +4522,7 @@ dependencies = [
[[package]]
name = "re_space_view_tensor"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"ahash 0.8.5",
"anyhow",
@@ -4547,7 +4547,7 @@ dependencies = [
[[package]]
name = "re_space_view_text_document"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"egui",
"egui_commonmark",
@@ -4564,7 +4564,7 @@ dependencies = [
[[package]]
name = "re_space_view_text_log"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"egui",
"egui_extras",
@@ -4584,7 +4584,7 @@ dependencies = [
[[package]]
name = "re_space_view_time_series"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"egui",
"egui_plot",
@@ -4603,7 +4603,7 @@ dependencies = [
[[package]]
name = "re_string_interner"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"ahash 0.8.5",
"nohash-hasher",
@@ -4614,7 +4614,7 @@ dependencies = [
[[package]]
name = "re_tensor_ops"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"ahash 0.8.5",
"ndarray",
@@ -4624,7 +4624,7 @@ dependencies = [
[[package]]
name = "re_time_panel"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"egui",
"itertools 0.11.0",
@@ -4642,7 +4642,7 @@ dependencies = [
[[package]]
name = "re_tracing"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"puffin",
"puffin_http",
@@ -4652,7 +4652,7 @@ dependencies = [
[[package]]
name = "re_tuid"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"arrow2",
"criterion",
@@ -4666,7 +4666,7 @@ dependencies = [
[[package]]
name = "re_types"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"array-init",
@@ -4700,7 +4700,7 @@ dependencies = [
[[package]]
name = "re_types_builder"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"arrow2",
@@ -4726,7 +4726,7 @@ dependencies = [
[[package]]
name = "re_types_core"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"arrow2",
@@ -4743,7 +4743,7 @@ dependencies = [
[[package]]
name = "re_ui"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"eframe",
"egui",
@@ -4759,7 +4759,7 @@ dependencies = [
[[package]]
name = "re_viewer"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"ahash 0.8.5",
"anyhow",
@@ -4816,7 +4816,7 @@ dependencies = [
[[package]]
name = "re_viewer_context"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"ahash 0.8.5",
"anyhow",
@@ -4854,7 +4854,7 @@ dependencies = [
[[package]]
name = "re_viewport"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"ahash 0.8.5",
"arrow2",
@@ -4885,7 +4885,7 @@ dependencies = [
[[package]]
name = "re_web_viewer_server"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"clap",
"document-features",
@@ -4903,7 +4903,7 @@ dependencies = [
[[package]]
name = "re_ws_comms"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"bincode",
@@ -4982,7 +4982,7 @@ checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b"
[[package]]
name = "rerun"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -5016,7 +5016,7 @@ dependencies = [
[[package]]
name = "rerun-cli"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"document-features",
@@ -5032,7 +5032,7 @@ dependencies = [
[[package]]
name = "rerun_c"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"ahash 0.8.5",
"arrow2",
@@ -5044,7 +5044,7 @@ dependencies = [
[[package]]
name = "rerun_py"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"arrow2",
"document-features",
@@ -5146,7 +5146,7 @@ dependencies = [
[[package]]
name = "roundtrip_annotation_context"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -5155,7 +5155,7 @@ dependencies = [
[[package]]
name = "roundtrip_arrows3d"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -5164,7 +5164,7 @@ dependencies = [
[[package]]
name = "roundtrip_boxes2d"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -5173,7 +5173,7 @@ dependencies = [
[[package]]
name = "roundtrip_boxes3d"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -5182,7 +5182,7 @@ dependencies = [
[[package]]
name = "roundtrip_depth_image"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -5192,7 +5192,7 @@ dependencies = [
[[package]]
name = "roundtrip_disconnected_space"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -5201,7 +5201,7 @@ dependencies = [
[[package]]
name = "roundtrip_image"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -5213,7 +5213,7 @@ dependencies = [
[[package]]
name = "roundtrip_line_strips2d"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -5222,7 +5222,7 @@ dependencies = [
[[package]]
name = "roundtrip_line_strips3d"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -5231,7 +5231,7 @@ dependencies = [
[[package]]
name = "roundtrip_pinhole"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -5240,7 +5240,7 @@ dependencies = [
[[package]]
name = "roundtrip_points2d"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -5249,7 +5249,7 @@ dependencies = [
[[package]]
name = "roundtrip_points3d"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -5258,7 +5258,7 @@ dependencies = [
[[package]]
name = "roundtrip_segmentation_image"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -5268,7 +5268,7 @@ dependencies = [
[[package]]
name = "roundtrip_tensor"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -5278,7 +5278,7 @@ dependencies = [
[[package]]
name = "roundtrip_text_document"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -5287,7 +5287,7 @@ dependencies = [
[[package]]
name = "roundtrip_text_log"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -5296,7 +5296,7 @@ dependencies = [
[[package]]
name = "roundtrip_transform3d"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -5305,7 +5305,7 @@ dependencies = [
[[package]]
name = "roundtrip_view_coordinates"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -5314,7 +5314,7 @@ dependencies = [
[[package]]
name = "run_wasm"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"cargo-run-wasm",
"pico-args",
@@ -5693,7 +5693,7 @@ dependencies = [
[[package]]
name = "spawn_viewer"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"rerun",
]
@@ -5835,7 +5835,7 @@ dependencies = [
[[package]]
name = "template"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"rerun",
]
@@ -5851,7 +5851,7 @@ dependencies = [
[[package]]
name = "test_api"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"anyhow",
"clap",
@@ -5865,7 +5865,7 @@ dependencies = [
[[package]]
name = "test_image_memory"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
dependencies = [
"mimalloc",
"re_format",
diff --git a/Cargo.toml b/Cargo.toml
index af0b44e49ad8..5b3123f08538 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -19,56 +19,56 @@ include = ["../../LICENSE-APACHE", "../../LICENSE-MIT", "**/*.rs", "Cargo.toml"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/rerun-io/rerun"
rust-version = "1.72"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
[workspace.dependencies]
# When using alpha-release, always use exact version, e.g. `version = "=0.x.y-alpha.z"
# This is because we treat alpha-releases as incompatible, but semver doesn't.
# In particular: if we compile rerun 0.3.0-alpha.0 we only want it to use
# re_log_types 0.3.0-alpha.0, NOT 0.3.0-alpha.4 even though it is newer and semver-compatible.
-re_analytics = { path = "crates/re_analytics", version = "=0.11.0-alpha.1", default-features = false }
-re_arrow_store = { path = "crates/re_arrow_store", version = "=0.11.0-alpha.1", default-features = false }
-re_build_info = { path = "crates/re_build_info", version = "=0.11.0-alpha.1", default-features = false }
-re_build_tools = { path = "crates/re_build_tools", version = "=0.11.0-alpha.1", default-features = false }
-re_build_web_viewer = { path = "crates/re_build_web_viewer", version = "=0.11.0-alpha.1", default-features = false }
-re_crash_handler = { path = "crates/re_crash_handler", version = "=0.11.0-alpha.1", default-features = false }
-re_data_source = { path = "crates/re_data_source", version = "=0.11.0-alpha.1", default-features = false }
-re_data_store = { path = "crates/re_data_store", version = "=0.11.0-alpha.1", default-features = false }
-re_data_ui = { path = "crates/re_data_ui", version = "=0.11.0-alpha.1", default-features = false }
-re_error = { path = "crates/re_error", version = "=0.11.0-alpha.1", default-features = false }
-re_format = { path = "crates/re_format", version = "=0.11.0-alpha.1", default-features = false }
-re_int_histogram = { path = "crates/re_int_histogram", version = "=0.11.0-alpha.1", default-features = false }
-re_log = { path = "crates/re_log", version = "=0.11.0-alpha.1", default-features = false }
-re_log_encoding = { path = "crates/re_log_encoding", version = "=0.11.0-alpha.1", default-features = false }
-re_log_types = { path = "crates/re_log_types", version = "=0.11.0-alpha.1", default-features = false }
-re_memory = { path = "crates/re_memory", version = "=0.11.0-alpha.1", default-features = false }
-re_query = { path = "crates/re_query", version = "=0.11.0-alpha.1", default-features = false }
-re_renderer = { path = "crates/re_renderer", version = "=0.11.0-alpha.1", default-features = false }
-re_sdk = { path = "crates/re_sdk", version = "=0.11.0-alpha.1", default-features = false }
-re_sdk_comms = { path = "crates/re_sdk_comms", version = "=0.11.0-alpha.1", default-features = false }
-re_smart_channel = { path = "crates/re_smart_channel", version = "=0.11.0-alpha.1", default-features = false }
-re_space_view = { path = "crates/re_space_view", version = "=0.11.0-alpha.1", default-features = false }
-re_space_view_bar_chart = { path = "crates/re_space_view_bar_chart", version = "=0.11.0-alpha.1", default-features = false }
-re_space_view_spatial = { path = "crates/re_space_view_spatial", version = "=0.11.0-alpha.1", default-features = false }
-re_space_view_tensor = { path = "crates/re_space_view_tensor", version = "=0.11.0-alpha.1", default-features = false }
-re_space_view_text_log = { path = "crates/re_space_view_text_log", version = "=0.11.0-alpha.1", default-features = false }
-re_space_view_text_document = { path = "crates/re_space_view_text_document", version = "=0.11.0-alpha.1", default-features = false }
-re_space_view_time_series = { path = "crates/re_space_view_time_series", version = "=0.11.0-alpha.1", default-features = false }
-re_string_interner = { path = "crates/re_string_interner", version = "=0.11.0-alpha.1", default-features = false }
-re_tensor_ops = { path = "crates/re_tensor_ops", version = "=0.11.0-alpha.1", default-features = false }
-re_time_panel = { path = "crates/re_time_panel", version = "=0.11.0-alpha.1", default-features = false }
-re_tracing = { path = "crates/re_tracing", version = "=0.11.0-alpha.1", default-features = false }
-re_tuid = { path = "crates/re_tuid", version = "=0.11.0-alpha.1", default-features = false }
-re_types_core = { path = "crates/re_types_core", version = "=0.11.0-alpha.1", default-features = false }
-re_types = { path = "crates/re_types", version = "=0.11.0-alpha.1", default-features = false }
-re_types_builder = { path = "crates/re_types_builder", version = "=0.11.0-alpha.1", default-features = false }
-re_ui = { path = "crates/re_ui", version = "=0.11.0-alpha.1", default-features = false }
-re_viewer = { path = "crates/re_viewer", version = "=0.11.0-alpha.1", default-features = false }
-re_viewer_context = { path = "crates/re_viewer_context", version = "=0.11.0-alpha.1", default-features = false }
-re_viewport = { path = "crates/re_viewport", version = "=0.11.0-alpha.1", default-features = false }
-re_web_viewer_server = { path = "crates/re_web_viewer_server", version = "=0.11.0-alpha.1", default-features = false }
-re_ws_comms = { path = "crates/re_ws_comms", version = "=0.11.0-alpha.1", default-features = false }
-rerun = { path = "crates/rerun", version = "=0.11.0-alpha.1", default-features = false }
+re_analytics = { path = "crates/re_analytics", version = "=0.12.0-alpha.1", default-features = false }
+re_arrow_store = { path = "crates/re_arrow_store", version = "=0.12.0-alpha.1", default-features = false }
+re_build_info = { path = "crates/re_build_info", version = "=0.12.0-alpha.1", default-features = false }
+re_build_tools = { path = "crates/re_build_tools", version = "=0.12.0-alpha.1", default-features = false }
+re_build_web_viewer = { path = "crates/re_build_web_viewer", version = "=0.12.0-alpha.1", default-features = false }
+re_crash_handler = { path = "crates/re_crash_handler", version = "=0.12.0-alpha.1", default-features = false }
+re_data_source = { path = "crates/re_data_source", version = "=0.12.0-alpha.1", default-features = false }
+re_data_store = { path = "crates/re_data_store", version = "=0.12.0-alpha.1", default-features = false }
+re_data_ui = { path = "crates/re_data_ui", version = "=0.12.0-alpha.1", default-features = false }
+re_error = { path = "crates/re_error", version = "=0.12.0-alpha.1", default-features = false }
+re_format = { path = "crates/re_format", version = "=0.12.0-alpha.1", default-features = false }
+re_int_histogram = { path = "crates/re_int_histogram", version = "=0.12.0-alpha.1", default-features = false }
+re_log = { path = "crates/re_log", version = "=0.12.0-alpha.1", default-features = false }
+re_log_encoding = { path = "crates/re_log_encoding", version = "=0.12.0-alpha.1", default-features = false }
+re_log_types = { path = "crates/re_log_types", version = "=0.12.0-alpha.1", default-features = false }
+re_memory = { path = "crates/re_memory", version = "=0.12.0-alpha.1", default-features = false }
+re_query = { path = "crates/re_query", version = "=0.12.0-alpha.1", default-features = false }
+re_renderer = { path = "crates/re_renderer", version = "=0.12.0-alpha.1", default-features = false }
+re_sdk = { path = "crates/re_sdk", version = "=0.12.0-alpha.1", default-features = false }
+re_sdk_comms = { path = "crates/re_sdk_comms", version = "=0.12.0-alpha.1", default-features = false }
+re_smart_channel = { path = "crates/re_smart_channel", version = "=0.12.0-alpha.1", default-features = false }
+re_space_view = { path = "crates/re_space_view", version = "=0.12.0-alpha.1", default-features = false }
+re_space_view_bar_chart = { path = "crates/re_space_view_bar_chart", version = "=0.12.0-alpha.1", default-features = false }
+re_space_view_spatial = { path = "crates/re_space_view_spatial", version = "=0.12.0-alpha.1", default-features = false }
+re_space_view_tensor = { path = "crates/re_space_view_tensor", version = "=0.12.0-alpha.1", default-features = false }
+re_space_view_text_log = { path = "crates/re_space_view_text_log", version = "=0.12.0-alpha.1", default-features = false }
+re_space_view_text_document = { path = "crates/re_space_view_text_document", version = "=0.12.0-alpha.1", default-features = false }
+re_space_view_time_series = { path = "crates/re_space_view_time_series", version = "=0.12.0-alpha.1", default-features = false }
+re_string_interner = { path = "crates/re_string_interner", version = "=0.12.0-alpha.1", default-features = false }
+re_tensor_ops = { path = "crates/re_tensor_ops", version = "=0.12.0-alpha.1", default-features = false }
+re_time_panel = { path = "crates/re_time_panel", version = "=0.12.0-alpha.1", default-features = false }
+re_tracing = { path = "crates/re_tracing", version = "=0.12.0-alpha.1", default-features = false }
+re_tuid = { path = "crates/re_tuid", version = "=0.12.0-alpha.1", default-features = false }
+re_types_core = { path = "crates/re_types_core", version = "=0.12.0-alpha.1", default-features = false }
+re_types = { path = "crates/re_types", version = "=0.12.0-alpha.1", default-features = false }
+re_types_builder = { path = "crates/re_types_builder", version = "=0.12.0-alpha.1", default-features = false }
+re_ui = { path = "crates/re_ui", version = "=0.12.0-alpha.1", default-features = false }
+re_viewer = { path = "crates/re_viewer", version = "=0.12.0-alpha.1", default-features = false }
+re_viewer_context = { path = "crates/re_viewer_context", version = "=0.12.0-alpha.1", default-features = false }
+re_viewport = { path = "crates/re_viewport", version = "=0.12.0-alpha.1", default-features = false }
+re_web_viewer_server = { path = "crates/re_web_viewer_server", version = "=0.12.0-alpha.1", default-features = false }
+re_ws_comms = { path = "crates/re_ws_comms", version = "=0.12.0-alpha.1", default-features = false }
+rerun = { path = "crates/rerun", version = "=0.12.0-alpha.1", default-features = false }
# All of our direct external dependencies should be found here:
ahash = "0.8"
diff --git a/RELEASES.md b/RELEASES.md
index bad12b56c9e2..f83acea77d0a 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -11,14 +11,15 @@ This document describes the current release and versioning strategy. This strate
## Release Cadence
-New Rerun versions are released every two weeks. Sometimes we do out-of-schedule patch releases.
+New Rerun versions are released every four weeks. Sometimes we do out-of-schedule patch releases.
## Library versioning and release cadence
Each release include new versions of:
+* All rust crates
* The Python SDK
* The Rust SDK
-* All rust crates
+* The C++ SDK
We use semantic versioning. All versions are increased in lockstep, with a minor version bump each time (`0.1.0`, `0.2.0`, `0.3.0`, β¦).
@@ -46,7 +47,7 @@ If we are doing a patch release, we do a branch off of the latest release tag (e
2. ### Create a release branch.
The name should be:
- - `release-0.x.y` for final releases.
+ - `release-0.x.y` for final releases and their release candidates.
- `release-0.x.y-alpha.N` where `N` is incremented from the previous alpha,
or defaulted to `1` if no previous alpha exists.
@@ -60,7 +61,7 @@ If we are doing a patch release, we do a branch off of the latest release tag (e
- A one-line summary of the release
- A multi-line summary of the release
- A gif showing a major new feature
- - Run `git tag -d latest && git fetch --tags ; pip install GitPython && scripts/generate_changelog.py`
+ - Run `pip install GitPython && scripts/generate_changelog.py`
- Edit PR descriptions/labels to improve the generated changelog
- Copy-paste the results into `CHANGELOG.md`.
- Editorialize the changelog if necessary
@@ -78,6 +79,8 @@ If we are doing a patch release, we do a branch off of the latest release tag (e
- `rc` if the branch name is `release-x.y.z`.
This will create a pull request for the release, and publish a release candidate.
+1
+ - `final` for the final public release

diff --git a/crates/re_data_store/src/time_histogram_per_timeline.rs b/crates/re_data_store/src/time_histogram_per_timeline.rs
index 5f6f9772d1a8..c553b20812d1 100644
--- a/crates/re_data_store/src/time_histogram_per_timeline.rs
+++ b/crates/re_data_store/src/time_histogram_per_timeline.rs
@@ -76,7 +76,7 @@ impl TimeHistogramPerTimeline {
.num_timeless_messages
.checked_sub(n as u64)
.unwrap_or_else(|| {
- re_log::warn_once!("Timeless counter underflowed, store events are bugged!");
+ re_log::debug_once!("Timeless counter underflowed, store events are bugged!"); // TODO(#4355): hitting this on plots demo
0
});
} else {
diff --git a/crates/re_types_builder/src/codegen/docs/mod.rs b/crates/re_types_builder/src/codegen/docs/mod.rs
index af881e5f81e5..c2e68ecf9683 100644
--- a/crates/re_types_builder/src/codegen/docs/mod.rs
+++ b/crates/re_types_builder/src/codegen/docs/mod.rs
@@ -172,7 +172,7 @@ fn object_page(reporter: &Reporter, object: &Object, object_map: &ObjectMap) ->
object.name,
object.kind.plural_snake_case(),
object.name,
- "?speculative-link", // speculative_marker // TODO(#4267): C++ is not yet released
+ speculative_marker,
);
putln!(
page,
diff --git a/crates/re_viewer/data/quick_start_guides/cpp_connect.md b/crates/re_viewer/data/quick_start_guides/cpp_connect.md
index a5c58100a3d1..d3a8c6163339 100644
--- a/crates/re_viewer/data/quick_start_guides/cpp_connect.md
+++ b/crates/re_viewer/data/quick_start_guides/cpp_connect.md
@@ -22,7 +22,7 @@ FetchContent_MakeAvailable(rerun_sdk)
This will download a bundle with pre-built Rerun C static libraries for most desktop platforms,
all Rerun C++ sources and headers, as well as CMake build instructions for them.
By default this will in turn download & build [Apache Arrow](https://arrow.apache.org/)'s C++ library which is required to build the Rerun C++.
-See [Install arrow-cpp](https://ref.rerun.io/docs/cpp/latest/md__arrow__cpp__install.html?speculative-link) to learn more about this step and how to use an existing install.
+To learn more about how Rerun's CMake script can be configured, see [CMake Setup in Detail](https://ref.rerun.io/docs/cpp/stable/md__2home_2runner_2work_2rerun_2rerun_2rerun__cpp_2cmake__setup__in__detail.html) in the C++ reference documentation.
Make sure you link with `rerun_sdk`:
```cmake
diff --git a/docs/content/getting-started/cpp.md b/docs/content/getting-started/cpp.md
index 8269f33fe0d5..683c4d8a7ff3 100644
--- a/docs/content/getting-started/cpp.md
+++ b/docs/content/getting-started/cpp.md
@@ -31,7 +31,7 @@ FetchContent_MakeAvailable(rerun_sdk)
This will download a bundle with pre-built Rerun C static libraries for most desktop platforms,
all Rerun C++ sources and headers, as well as CMake build instructions for them.
By default this will in turn download & build [Apache Arrow](https://arrow.apache.org/)'s C++ library which is required to build the Rerun C++.
-See [Install arrow-cpp](https://ref.rerun.io/docs/cpp/latest/md__arrow__cpp__install.html?speculative-link) to learn more about this step and how to use an existing install.
+See [Install arrow-cpp](https://ref.rerun.io/docs/cpp/stable/md__2home_2runner_2work_2rerun_2rerun_2rerun__cpp_2arrow__cpp__install.html) to learn more about this step and how to use an existing install.
Currently, Rerun SDK works with C++17 or newer, so you need to add this property to your target:
@@ -129,7 +129,7 @@ Rerun tick and log our first non-trivial dataset.
If you'd rather learn from examples, check out the [example gallery](/examples) for some more realistic examples, or browse the [Types](../reference/types.md) section for more simple examples of how to use the main datatypes.
There's also a stand-alone example that shows [interop with Eigen and OpenCV](https://github.com/rerun-io/cpp-example-opencv-eigen).
-To learn more about how to work with your own types, check the [Custom Collection Adapter](https://github.com/rerun-io/rerun/tree/latest/examples/cpp/custom_collection_adapter?speculative-link) example on how to zero-copy adapt to Rerun types
+To learn more about how to work with your own types, check the [Custom Collection Adapter](https://github.com/rerun-io/rerun/tree/latest/examples/cpp/custom_collection_adapter) example on how to zero-copy adapt to Rerun types
and the [Use custom data](../howto/extend/custom-data.md) page for completely custom types.
-To learn more about how to configure the C++ SDK's CMake file, check [CMake Setup in Detail](https://ref.rerun.io/docs/cpp/latest/md__cmake__setup__in__detail.html?speculative-link) .
+To learn more about how to configure the C++ SDK's CMake file, check [CMake Setup in Detail](https://ref.rerun.io/docs/cpp/stable/md__2home_2runner_2work_2rerun_2rerun_2rerun__cpp_2cmake__setup__in__detail.html).
diff --git a/docs/content/getting-started/logging-cpp.md b/docs/content/getting-started/logging-cpp.md
index 450fd53ca953..e903eca898be 100644
--- a/docs/content/getting-started/logging-cpp.md
+++ b/docs/content/getting-started/logging-cpp.md
@@ -38,7 +38,8 @@ You should have already [installed the viewer](installing-viewer.md).
We assume you have a working C++ toolchain and are using `CMake` to build your project. For this example
we will let Rerun download build [Apache Arrow](https://arrow.apache.org/)'s C++ library itself.
-See [Install arrow-cpp](https://ref.rerun.io/docs/cpp/latest/md__arrow__cpp__install.html?speculative-link) to learn more about this step and how to use an existing install.
+To learn more about how Rerun's CMake script can be configured, see [CMake Setup in Detail](https://ref.rerun.io/docs/cpp/stable/md__2home_2runner_2work_2rerun_2rerun_2rerun__cpp_2cmake__setup__in__detail.html) in the C++ reference documentation.
+
## Setting up your CMakeLists.txt
diff --git a/docs/content/getting-started/logging-python.md b/docs/content/getting-started/logging-python.md
index 60371dd9d62a..d4f3772ed2fe 100644
--- a/docs/content/getting-started/logging-python.md
+++ b/docs/content/getting-started/logging-python.md
@@ -128,7 +128,7 @@ archetypes altogether.
For more information on how the rerun data model works, refer to our section on [Entities and Components](../concepts/entity-component.md).
-Our [Python SDK](https://ref.rerun.io/docs/python) integrates with the rest of the Python ecosystem: the points and colors returned by [`build_color_spiral`](https://ref.rerun.io/docs/python/stable/common/utilities/?speculative-link#rerun.utilities.data.build_color_spiral) in this example are vanilla `numpy` arrays.
+Our [Python SDK](https://ref.rerun.io/docs/python) integrates with the rest of the Python ecosystem: the points and colors returned by [`build_color_spiral`](https://ref.rerun.io/docs/python/stable/common/demo_utilities/#rerun.utilities.data.build_color_spiral) in this example are vanilla `numpy` arrays.
Rerun takes care of mapping those arrays to actual Rerun components depending on the context (e.g. we're calling [`rr.Points3D`](https://ref.rerun.io/docs/python/stable/common/archetypes/#rerun.archetypes.Points3D) in this case).
### Entities & hierarchies
@@ -174,7 +174,7 @@ rr.log(
)
```
-Once again, although we are getting fancier and fancier with our [`numpy` incantations](https://ref.rerun.io/docs/python/stable/common/utilities/?speculative-link#rerun.utilities.util.bounce_lerp),
+Once again, although we are getting fancier and fancier with our [`numpy` incantations](https://ref.rerun.io/docs/python/stable/common/demo_utilities/#rerun.utilities.util.bounce_lerp),
there is nothing new here: it's all about building out `numpy` arrays and feeding them to the Rerun API.
diff --git a/docs/content/getting-started/rust.md b/docs/content/getting-started/rust.md
index cbbe2fd6a410..d13c1d8d5a82 100644
--- a/docs/content/getting-started/rust.md
+++ b/docs/content/getting-started/rust.md
@@ -20,7 +20,7 @@ Add the following code to your `main.rs`
use rerun::{demo_util::grid, external::glam};
fn main() -> Result<(), Box> {
- let rec = rerun::RecordingStreamBuilder::new("rerun_example_minimal").spawn(None)?;
+ let rec = rerun::RecordingStreamBuilder::new("rerun_example_minimal").spawn()?;
let points = grid(glam::Vec3::splat(-10.0), glam::Vec3::splat(10.0), 10);
let colors = grid(glam::Vec3::ZERO, glam::Vec3::splat(255.0), 10)
diff --git a/docs/content/reference/cpp.md b/docs/content/reference/cpp.md
index 5241c86fea39..9ee8c0b93b69 100644
--- a/docs/content/reference/cpp.md
+++ b/docs/content/reference/cpp.md
@@ -1,5 +1,5 @@
---
title: π C++ APIs
order: 9
-redirect: https://ref.rerun.io/docs/cpp?speculative-link
+redirect: https://ref.rerun.io/docs/cpp
---
diff --git a/docs/content/reference/types/archetypes/annotation_context.md b/docs/content/reference/types/archetypes/annotation_context.md
index eeddcc88daeb..cb033f0749c0 100644
--- a/docs/content/reference/types/archetypes/annotation_context.md
+++ b/docs/content/reference/types/archetypes/annotation_context.md
@@ -15,7 +15,7 @@ path.
**Required**: [`AnnotationContext`](../components/annotation_context.md)
## Links
- * π [C++ API docs for `AnnotationContext`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1AnnotationContext.html?speculative-link)
+ * π [C++ API docs for `AnnotationContext`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1AnnotationContext.html)
* π [Python API docs for `AnnotationContext`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.AnnotationContext)
* π¦ [Rust API docs for `AnnotationContext`](https://docs.rs/rerun/latest/rerun/archetypes/struct.AnnotationContext.html)
diff --git a/docs/content/reference/types/archetypes/arrows3d.md b/docs/content/reference/types/archetypes/arrows3d.md
index 3b255ed9d052..381db1540167 100644
--- a/docs/content/reference/types/archetypes/arrows3d.md
+++ b/docs/content/reference/types/archetypes/arrows3d.md
@@ -13,7 +13,7 @@ title: "Arrows3D"
**Optional**: [`Radius`](../components/radius.md), [`Color`](../components/color.md), [`Text`](../components/text.md), [`ClassId`](../components/class_id.md), [`InstanceKey`](../components/instance_key.md)
## Links
- * π [C++ API docs for `Arrows3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Arrows3D.html?speculative-link)
+ * π [C++ API docs for `Arrows3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Arrows3D.html)
* π [Python API docs for `Arrows3D`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.Arrows3D)
* π¦ [Rust API docs for `Arrows3D`](https://docs.rs/rerun/latest/rerun/archetypes/struct.Arrows3D.html)
diff --git a/docs/content/reference/types/archetypes/asset3d.md b/docs/content/reference/types/archetypes/asset3d.md
index 943c9b86fe09..8b483cb4f80a 100644
--- a/docs/content/reference/types/archetypes/asset3d.md
+++ b/docs/content/reference/types/archetypes/asset3d.md
@@ -13,7 +13,7 @@ A prepacked 3D asset (`.gltf`, `.glb`, `.obj`, etc.).
**Optional**: [`OutOfTreeTransform3D`](../components/out_of_tree_transform3d.md)
## Links
- * π [C++ API docs for `Asset3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Asset3D.html?speculative-link)
+ * π [C++ API docs for `Asset3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Asset3D.html)
* π [Python API docs for `Asset3D`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.Asset3D)
* π¦ [Rust API docs for `Asset3D`](https://docs.rs/rerun/latest/rerun/archetypes/struct.Asset3D.html)
diff --git a/docs/content/reference/types/archetypes/bar_chart.md b/docs/content/reference/types/archetypes/bar_chart.md
index a2f6e72f6297..b2968c6eb0bd 100644
--- a/docs/content/reference/types/archetypes/bar_chart.md
+++ b/docs/content/reference/types/archetypes/bar_chart.md
@@ -11,7 +11,7 @@ The x values will be the indices of the array, and the bar heights will be the p
**Required**: [`TensorData`](../components/tensor_data.md)
## Links
- * π [C++ API docs for `BarChart`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1BarChart.html?speculative-link)
+ * π [C++ API docs for `BarChart`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1BarChart.html)
* π [Python API docs for `BarChart`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.BarChart)
* π¦ [Rust API docs for `BarChart`](https://docs.rs/rerun/latest/rerun/archetypes/struct.BarChart.html)
diff --git a/docs/content/reference/types/archetypes/boxes2d.md b/docs/content/reference/types/archetypes/boxes2d.md
index 0d697887ebf4..42ad7bd54a96 100644
--- a/docs/content/reference/types/archetypes/boxes2d.md
+++ b/docs/content/reference/types/archetypes/boxes2d.md
@@ -13,7 +13,7 @@ title: "Boxes2D"
**Optional**: [`Radius`](../components/radius.md), [`Text`](../components/text.md), [`DrawOrder`](../components/draw_order.md), [`ClassId`](../components/class_id.md), [`InstanceKey`](../components/instance_key.md)
## Links
- * π [C++ API docs for `Boxes2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Boxes2D.html?speculative-link)
+ * π [C++ API docs for `Boxes2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Boxes2D.html)
* π [Python API docs for `Boxes2D`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.Boxes2D)
* π¦ [Rust API docs for `Boxes2D`](https://docs.rs/rerun/latest/rerun/archetypes/struct.Boxes2D.html)
diff --git a/docs/content/reference/types/archetypes/boxes3d.md b/docs/content/reference/types/archetypes/boxes3d.md
index 3deb8b9e737e..a7c76f3e8550 100644
--- a/docs/content/reference/types/archetypes/boxes3d.md
+++ b/docs/content/reference/types/archetypes/boxes3d.md
@@ -13,7 +13,7 @@ title: "Boxes3D"
**Optional**: [`Radius`](../components/radius.md), [`Text`](../components/text.md), [`ClassId`](../components/class_id.md), [`InstanceKey`](../components/instance_key.md)
## Links
- * π [C++ API docs for `Boxes3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Boxes3D.html?speculative-link)
+ * π [C++ API docs for `Boxes3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Boxes3D.html)
* π [Python API docs for `Boxes3D`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.Boxes3D)
* π¦ [Rust API docs for `Boxes3D`](https://docs.rs/rerun/latest/rerun/archetypes/struct.Boxes3D.html)
diff --git a/docs/content/reference/types/archetypes/clear.md b/docs/content/reference/types/archetypes/clear.md
index 270ead2a3482..f7daf11ea029 100644
--- a/docs/content/reference/types/archetypes/clear.md
+++ b/docs/content/reference/types/archetypes/clear.md
@@ -9,7 +9,7 @@ Empties all the components of an entity.
**Required**: [`ClearIsRecursive`](../components/clear_is_recursive.md)
## Links
- * π [C++ API docs for `Clear`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Clear.html?speculative-link)
+ * π [C++ API docs for `Clear`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Clear.html)
* π [Python API docs for `Clear`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.Clear)
* π¦ [Rust API docs for `Clear`](https://docs.rs/rerun/latest/rerun/archetypes/struct.Clear.html)
diff --git a/docs/content/reference/types/archetypes/depth_image.md b/docs/content/reference/types/archetypes/depth_image.md
index 71156b229ebd..945ec6532ed6 100644
--- a/docs/content/reference/types/archetypes/depth_image.md
+++ b/docs/content/reference/types/archetypes/depth_image.md
@@ -14,7 +14,7 @@ Each pixel corresponds to a depth value in units specified by `meter`.
**Optional**: [`DepthMeter`](../components/depth_meter.md), [`DrawOrder`](../components/draw_order.md)
## Links
- * π [C++ API docs for `DepthImage`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1DepthImage.html?speculative-link)
+ * π [C++ API docs for `DepthImage`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1DepthImage.html)
* π [Python API docs for `DepthImage`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.DepthImage)
* π¦ [Rust API docs for `DepthImage`](https://docs.rs/rerun/latest/rerun/archetypes/struct.DepthImage.html)
diff --git a/docs/content/reference/types/archetypes/disconnected_space.md b/docs/content/reference/types/archetypes/disconnected_space.md
index e8c246e093f9..65db52fcf2e2 100644
--- a/docs/content/reference/types/archetypes/disconnected_space.md
+++ b/docs/content/reference/types/archetypes/disconnected_space.md
@@ -14,7 +14,7 @@ will be ignored.
**Required**: [`DisconnectedSpace`](../components/disconnected_space.md)
## Links
- * π [C++ API docs for `DisconnectedSpace`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1DisconnectedSpace.html?speculative-link)
+ * π [C++ API docs for `DisconnectedSpace`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1DisconnectedSpace.html)
* π [Python API docs for `DisconnectedSpace`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.DisconnectedSpace)
* π¦ [Rust API docs for `DisconnectedSpace`](https://docs.rs/rerun/latest/rerun/archetypes/struct.DisconnectedSpace.html)
diff --git a/docs/content/reference/types/archetypes/image.md b/docs/content/reference/types/archetypes/image.md
index 2a6ef77c8967..2ce162be3af0 100644
--- a/docs/content/reference/types/archetypes/image.md
+++ b/docs/content/reference/types/archetypes/image.md
@@ -19,7 +19,7 @@ Leading and trailing unit-dimensions are ignored, so that
**Optional**: [`DrawOrder`](../components/draw_order.md)
## Links
- * π [C++ API docs for `Image`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Image.html?speculative-link)
+ * π [C++ API docs for `Image`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Image.html)
* π [Python API docs for `Image`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.Image)
* π¦ [Rust API docs for `Image`](https://docs.rs/rerun/latest/rerun/archetypes/struct.Image.html)
diff --git a/docs/content/reference/types/archetypes/line_strips2d.md b/docs/content/reference/types/archetypes/line_strips2d.md
index e06445907928..89ab67a9049e 100644
--- a/docs/content/reference/types/archetypes/line_strips2d.md
+++ b/docs/content/reference/types/archetypes/line_strips2d.md
@@ -13,7 +13,7 @@ title: "LineStrips2D"
**Optional**: [`Text`](../components/text.md), [`DrawOrder`](../components/draw_order.md), [`ClassId`](../components/class_id.md), [`InstanceKey`](../components/instance_key.md)
## Links
- * π [C++ API docs for `LineStrips2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1LineStrips2D.html?speculative-link)
+ * π [C++ API docs for `LineStrips2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1LineStrips2D.html)
* π [Python API docs for `LineStrips2D`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.LineStrips2D)
* π¦ [Rust API docs for `LineStrips2D`](https://docs.rs/rerun/latest/rerun/archetypes/struct.LineStrips2D.html)
diff --git a/docs/content/reference/types/archetypes/line_strips3d.md b/docs/content/reference/types/archetypes/line_strips3d.md
index e5b715551519..4766c216788f 100644
--- a/docs/content/reference/types/archetypes/line_strips3d.md
+++ b/docs/content/reference/types/archetypes/line_strips3d.md
@@ -13,7 +13,7 @@ title: "LineStrips3D"
**Optional**: [`Text`](../components/text.md), [`ClassId`](../components/class_id.md), [`InstanceKey`](../components/instance_key.md)
## Links
- * π [C++ API docs for `LineStrips3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1LineStrips3D.html?speculative-link)
+ * π [C++ API docs for `LineStrips3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1LineStrips3D.html)
* π [Python API docs for `LineStrips3D`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.LineStrips3D)
* π¦ [Rust API docs for `LineStrips3D`](https://docs.rs/rerun/latest/rerun/archetypes/struct.LineStrips3D.html)
diff --git a/docs/content/reference/types/archetypes/mesh3d.md b/docs/content/reference/types/archetypes/mesh3d.md
index 667189044abb..627bf593d275 100644
--- a/docs/content/reference/types/archetypes/mesh3d.md
+++ b/docs/content/reference/types/archetypes/mesh3d.md
@@ -13,7 +13,7 @@ A 3D triangle mesh as specified by its per-mesh and per-vertex properties.
**Optional**: [`Color`](../components/color.md), [`Material`](../components/material.md), [`ClassId`](../components/class_id.md), [`InstanceKey`](../components/instance_key.md)
## Links
- * π [C++ API docs for `Mesh3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Mesh3D.html?speculative-link)
+ * π [C++ API docs for `Mesh3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Mesh3D.html)
* π [Python API docs for `Mesh3D`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.Mesh3D)
* π¦ [Rust API docs for `Mesh3D`](https://docs.rs/rerun/latest/rerun/archetypes/struct.Mesh3D.html)
diff --git a/docs/content/reference/types/archetypes/pinhole.md b/docs/content/reference/types/archetypes/pinhole.md
index 822c51b6ab57..b6b0574d0eec 100644
--- a/docs/content/reference/types/archetypes/pinhole.md
+++ b/docs/content/reference/types/archetypes/pinhole.md
@@ -13,7 +13,7 @@ Camera perspective projection (a.k.a. intrinsics).
**Optional**: [`ViewCoordinates`](../components/view_coordinates.md)
## Links
- * π [C++ API docs for `Pinhole`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Pinhole.html?speculative-link)
+ * π [C++ API docs for `Pinhole`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Pinhole.html)
* π [Python API docs for `Pinhole`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.Pinhole)
* π¦ [Rust API docs for `Pinhole`](https://docs.rs/rerun/latest/rerun/archetypes/struct.Pinhole.html)
diff --git a/docs/content/reference/types/archetypes/points2d.md b/docs/content/reference/types/archetypes/points2d.md
index f297dcb71474..4c60c15df052 100644
--- a/docs/content/reference/types/archetypes/points2d.md
+++ b/docs/content/reference/types/archetypes/points2d.md
@@ -13,7 +13,7 @@ A 2D point cloud with positions and optional colors, radii, labels, etc.
**Optional**: [`Text`](../components/text.md), [`DrawOrder`](../components/draw_order.md), [`ClassId`](../components/class_id.md), [`KeypointId`](../components/keypoint_id.md), [`InstanceKey`](../components/instance_key.md)
## Links
- * π [C++ API docs for `Points2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Points2D.html?speculative-link)
+ * π [C++ API docs for `Points2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Points2D.html)
* π [Python API docs for `Points2D`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.Points2D)
* π¦ [Rust API docs for `Points2D`](https://docs.rs/rerun/latest/rerun/archetypes/struct.Points2D.html)
diff --git a/docs/content/reference/types/archetypes/points3d.md b/docs/content/reference/types/archetypes/points3d.md
index 02393d79e677..9afc2da05379 100644
--- a/docs/content/reference/types/archetypes/points3d.md
+++ b/docs/content/reference/types/archetypes/points3d.md
@@ -13,7 +13,7 @@ A 3D point cloud with positions and optional colors, radii, labels, etc.
**Optional**: [`Text`](../components/text.md), [`ClassId`](../components/class_id.md), [`KeypointId`](../components/keypoint_id.md), [`InstanceKey`](../components/instance_key.md)
## Links
- * π [C++ API docs for `Points3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Points3D.html?speculative-link)
+ * π [C++ API docs for `Points3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Points3D.html)
* π [Python API docs for `Points3D`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.Points3D)
* π¦ [Rust API docs for `Points3D`](https://docs.rs/rerun/latest/rerun/archetypes/struct.Points3D.html)
diff --git a/docs/content/reference/types/archetypes/segmentation_image.md b/docs/content/reference/types/archetypes/segmentation_image.md
index 826490579bb2..213ed02a125f 100644
--- a/docs/content/reference/types/archetypes/segmentation_image.md
+++ b/docs/content/reference/types/archetypes/segmentation_image.md
@@ -17,7 +17,7 @@ Leading and trailing unit-dimensions are ignored, so that
**Optional**: [`DrawOrder`](../components/draw_order.md)
## Links
- * π [C++ API docs for `SegmentationImage`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1SegmentationImage.html?speculative-link)
+ * π [C++ API docs for `SegmentationImage`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1SegmentationImage.html)
* π [Python API docs for `SegmentationImage`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.SegmentationImage)
* π¦ [Rust API docs for `SegmentationImage`](https://docs.rs/rerun/latest/rerun/archetypes/struct.SegmentationImage.html)
diff --git a/docs/content/reference/types/archetypes/tensor.md b/docs/content/reference/types/archetypes/tensor.md
index a30e0414b3b8..ab2a7a436978 100644
--- a/docs/content/reference/types/archetypes/tensor.md
+++ b/docs/content/reference/types/archetypes/tensor.md
@@ -9,7 +9,7 @@ A generic n-dimensional Tensor.
**Required**: [`TensorData`](../components/tensor_data.md)
## Links
- * π [C++ API docs for `Tensor`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Tensor.html?speculative-link)
+ * π [C++ API docs for `Tensor`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Tensor.html)
* π [Python API docs for `Tensor`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.Tensor)
* π¦ [Rust API docs for `Tensor`](https://docs.rs/rerun/latest/rerun/archetypes/struct.Tensor.html)
diff --git a/docs/content/reference/types/archetypes/text_document.md b/docs/content/reference/types/archetypes/text_document.md
index 0f9465816438..80d53aebc46f 100644
--- a/docs/content/reference/types/archetypes/text_document.md
+++ b/docs/content/reference/types/archetypes/text_document.md
@@ -13,7 +13,7 @@ Supports raw text and markdown.
**Optional**: [`MediaType`](../components/media_type.md)
## Links
- * π [C++ API docs for `TextDocument`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1TextDocument.html?speculative-link)
+ * π [C++ API docs for `TextDocument`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1TextDocument.html)
* π [Python API docs for `TextDocument`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.TextDocument)
* π¦ [Rust API docs for `TextDocument`](https://docs.rs/rerun/latest/rerun/archetypes/struct.TextDocument.html)
diff --git a/docs/content/reference/types/archetypes/text_log.md b/docs/content/reference/types/archetypes/text_log.md
index cfefc3510a88..9c9af04ba07e 100644
--- a/docs/content/reference/types/archetypes/text_log.md
+++ b/docs/content/reference/types/archetypes/text_log.md
@@ -11,7 +11,7 @@ A log entry in a text log, comprised of a text body and its log level.
**Recommended**: [`TextLogLevel`](../components/text_log_level.md)
## Links
- * π [C++ API docs for `TextLog`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1TextLog.html?speculative-link)
+ * π [C++ API docs for `TextLog`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1TextLog.html)
* π [Python API docs for `TextLog`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.TextLog)
* π¦ [Rust API docs for `TextLog`](https://docs.rs/rerun/latest/rerun/archetypes/struct.TextLog.html)
diff --git a/docs/content/reference/types/archetypes/time_series_scalar.md b/docs/content/reference/types/archetypes/time_series_scalar.md
index b1e64fe05d36..36c7e6e7cb1b 100644
--- a/docs/content/reference/types/archetypes/time_series_scalar.md
+++ b/docs/content/reference/types/archetypes/time_series_scalar.md
@@ -16,7 +16,7 @@ cannot be timeless!
**Optional**: [`Text`](../components/text.md), [`ScalarScattering`](../components/scalar_scattering.md)
## Links
- * π [C++ API docs for `TimeSeriesScalar`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1TimeSeriesScalar.html?speculative-link)
+ * π [C++ API docs for `TimeSeriesScalar`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1TimeSeriesScalar.html)
* π [Python API docs for `TimeSeriesScalar`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.TimeSeriesScalar)
* π¦ [Rust API docs for `TimeSeriesScalar`](https://docs.rs/rerun/latest/rerun/archetypes/struct.TimeSeriesScalar.html)
diff --git a/docs/content/reference/types/archetypes/transform3d.md b/docs/content/reference/types/archetypes/transform3d.md
index a42b7427fad0..d94e480c015d 100644
--- a/docs/content/reference/types/archetypes/transform3d.md
+++ b/docs/content/reference/types/archetypes/transform3d.md
@@ -9,7 +9,7 @@ A 3D transform.
**Required**: [`Transform3D`](../components/transform3d.md)
## Links
- * π [C++ API docs for `Transform3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Transform3D.html?speculative-link)
+ * π [C++ API docs for `Transform3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1Transform3D.html)
* π [Python API docs for `Transform3D`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.Transform3D)
* π¦ [Rust API docs for `Transform3D`](https://docs.rs/rerun/latest/rerun/archetypes/struct.Transform3D.html)
diff --git a/docs/content/reference/types/archetypes/view_coordinates.md b/docs/content/reference/types/archetypes/view_coordinates.md
index 248baace7a1a..c456f7652f1e 100644
--- a/docs/content/reference/types/archetypes/view_coordinates.md
+++ b/docs/content/reference/types/archetypes/view_coordinates.md
@@ -16,7 +16,7 @@ down, and the Z axis points forward.
**Required**: [`ViewCoordinates`](../components/view_coordinates.md)
## Links
- * π [C++ API docs for `ViewCoordinates`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1ViewCoordinates.html?speculative-link)
+ * π [C++ API docs for `ViewCoordinates`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1ViewCoordinates.html)
* π [Python API docs for `ViewCoordinates`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.ViewCoordinates)
* π¦ [Rust API docs for `ViewCoordinates`](https://docs.rs/rerun/latest/rerun/archetypes/struct.ViewCoordinates.html)
diff --git a/docs/content/reference/types/components/annotation_context.md b/docs/content/reference/types/components/annotation_context.md
index 638e8360b73e..396a3ffc0a3b 100644
--- a/docs/content/reference/types/components/annotation_context.md
+++ b/docs/content/reference/types/components/annotation_context.md
@@ -15,7 +15,7 @@ path.
* class_map: [`ClassDescriptionMapElem`](../datatypes/class_description_map_elem.md)
## Links
- * π [C++ API docs for `AnnotationContext`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1AnnotationContext.html?speculative-link)
+ * π [C++ API docs for `AnnotationContext`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1AnnotationContext.html)
* π [Python API docs for `AnnotationContext`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.AnnotationContext)
* π¦ [Rust API docs for `AnnotationContext`](https://docs.rs/rerun/latest/rerun/components/struct.AnnotationContext.html)
diff --git a/docs/content/reference/types/components/blob.md b/docs/content/reference/types/components/blob.md
index 73f26fd09c1b..8003503e743a 100644
--- a/docs/content/reference/types/components/blob.md
+++ b/docs/content/reference/types/components/blob.md
@@ -6,7 +6,7 @@ A binary blob of data.
## Links
- * π [C++ API docs for `Blob`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Blob.html?speculative-link)
+ * π [C++ API docs for `Blob`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Blob.html)
* π [Python API docs for `Blob`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.Blob)
* π¦ [Rust API docs for `Blob`](https://docs.rs/rerun/latest/rerun/components/struct.Blob.html)
diff --git a/docs/content/reference/types/components/class_id.md b/docs/content/reference/types/components/class_id.md
index 46df98c0237a..1cf74387952e 100644
--- a/docs/content/reference/types/components/class_id.md
+++ b/docs/content/reference/types/components/class_id.md
@@ -9,7 +9,7 @@ A 16-bit ID representing a type of semantic class.
* id: [`ClassId`](../datatypes/class_id.md)
## Links
- * π [C++ API docs for `ClassId`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1ClassId.html?speculative-link)
+ * π [C++ API docs for `ClassId`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1ClassId.html)
* π [Python API docs for `ClassId`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.ClassId)
* π¦ [Rust API docs for `ClassId`](https://docs.rs/rerun/latest/rerun/components/struct.ClassId.html)
diff --git a/docs/content/reference/types/components/clear_is_recursive.md b/docs/content/reference/types/components/clear_is_recursive.md
index 3c6175c812ed..bd24c071c63e 100644
--- a/docs/content/reference/types/components/clear_is_recursive.md
+++ b/docs/content/reference/types/components/clear_is_recursive.md
@@ -6,7 +6,7 @@ Configures how a clear operation should behave - recursive or not.
## Links
- * π [C++ API docs for `ClearIsRecursive`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1ClearIsRecursive.html?speculative-link)
+ * π [C++ API docs for `ClearIsRecursive`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1ClearIsRecursive.html)
* π [Python API docs for `ClearIsRecursive`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.ClearIsRecursive)
* π¦ [Rust API docs for `ClearIsRecursive`](https://docs.rs/rerun/latest/rerun/components/struct.ClearIsRecursive.html)
diff --git a/docs/content/reference/types/components/color.md b/docs/content/reference/types/components/color.md
index 4cc20aa19d02..1c87b314c3eb 100644
--- a/docs/content/reference/types/components/color.md
+++ b/docs/content/reference/types/components/color.md
@@ -12,7 +12,7 @@ byte is `R` and the least significant byte is `A`.
* rgba: [`Rgba32`](../datatypes/rgba32.md)
## Links
- * π [C++ API docs for `Color`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Color.html?speculative-link)
+ * π [C++ API docs for `Color`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Color.html)
* π [Python API docs for `Color`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.Color)
* π¦ [Rust API docs for `Color`](https://docs.rs/rerun/latest/rerun/components/struct.Color.html)
diff --git a/docs/content/reference/types/components/depth_meter.md b/docs/content/reference/types/components/depth_meter.md
index e59496cb4190..883a1dd6fe4c 100644
--- a/docs/content/reference/types/components/depth_meter.md
+++ b/docs/content/reference/types/components/depth_meter.md
@@ -6,7 +6,7 @@ A component indicating how long a meter is, expressed in native units.
## Links
- * π [C++ API docs for `DepthMeter`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1DepthMeter.html?speculative-link)
+ * π [C++ API docs for `DepthMeter`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1DepthMeter.html)
* π [Python API docs for `DepthMeter`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.DepthMeter)
* π¦ [Rust API docs for `DepthMeter`](https://docs.rs/rerun/latest/rerun/components/struct.DepthMeter.html)
diff --git a/docs/content/reference/types/components/disconnected_space.md b/docs/content/reference/types/components/disconnected_space.md
index 5d3cdf961eac..21d302f1eb1a 100644
--- a/docs/content/reference/types/components/disconnected_space.md
+++ b/docs/content/reference/types/components/disconnected_space.md
@@ -10,7 +10,7 @@ If a transform or pinhole is logged on the same path, this component will be ign
## Links
- * π [C++ API docs for `DisconnectedSpace`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1DisconnectedSpace.html?speculative-link)
+ * π [C++ API docs for `DisconnectedSpace`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1DisconnectedSpace.html)
* π [Python API docs for `DisconnectedSpace`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.DisconnectedSpace)
* π¦ [Rust API docs for `DisconnectedSpace`](https://docs.rs/rerun/latest/rerun/components/struct.DisconnectedSpace.html)
diff --git a/docs/content/reference/types/components/draw_order.md b/docs/content/reference/types/components/draw_order.md
index cc3efe33e397..cbaedd20a576 100644
--- a/docs/content/reference/types/components/draw_order.md
+++ b/docs/content/reference/types/components/draw_order.md
@@ -12,7 +12,7 @@ Draw order for entities with the same draw order is generally undefined.
## Links
- * π [C++ API docs for `DrawOrder`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1DrawOrder.html?speculative-link)
+ * π [C++ API docs for `DrawOrder`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1DrawOrder.html)
* π [Python API docs for `DrawOrder`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.DrawOrder)
* π¦ [Rust API docs for `DrawOrder`](https://docs.rs/rerun/latest/rerun/components/struct.DrawOrder.html)
diff --git a/docs/content/reference/types/components/half_sizes2d.md b/docs/content/reference/types/components/half_sizes2d.md
index 64def24566ff..3979fdce03b7 100644
--- a/docs/content/reference/types/components/half_sizes2d.md
+++ b/docs/content/reference/types/components/half_sizes2d.md
@@ -12,7 +12,7 @@ Negative sizes indicate that the box is flipped along the respective axis, but t
* xy: [`Vec2D`](../datatypes/vec2d.md)
## Links
- * π [C++ API docs for `HalfSizes2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1HalfSizes2D.html?speculative-link)
+ * π [C++ API docs for `HalfSizes2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1HalfSizes2D.html)
* π [Python API docs for `HalfSizes2D`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.HalfSizes2D)
* π¦ [Rust API docs for `HalfSizes2D`](https://docs.rs/rerun/latest/rerun/components/struct.HalfSizes2D.html)
diff --git a/docs/content/reference/types/components/half_sizes3d.md b/docs/content/reference/types/components/half_sizes3d.md
index 324feac3ccf2..ff1e11f90157 100644
--- a/docs/content/reference/types/components/half_sizes3d.md
+++ b/docs/content/reference/types/components/half_sizes3d.md
@@ -12,7 +12,7 @@ Negative sizes indicate that the box is flipped along the respective axis, but t
* xyz: [`Vec3D`](../datatypes/vec3d.md)
## Links
- * π [C++ API docs for `HalfSizes3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1HalfSizes3D.html?speculative-link)
+ * π [C++ API docs for `HalfSizes3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1HalfSizes3D.html)
* π [Python API docs for `HalfSizes3D`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.HalfSizes3D)
* π¦ [Rust API docs for `HalfSizes3D`](https://docs.rs/rerun/latest/rerun/components/struct.HalfSizes3D.html)
diff --git a/docs/content/reference/types/components/instance_key.md b/docs/content/reference/types/components/instance_key.md
index 4dd2b5517a7f..753ca8f438a9 100644
--- a/docs/content/reference/types/components/instance_key.md
+++ b/docs/content/reference/types/components/instance_key.md
@@ -6,7 +6,7 @@ A unique numeric identifier for each individual instance within a batch.
## Links
- * π [C++ API docs for `InstanceKey`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1InstanceKey.html?speculative-link)
+ * π [C++ API docs for `InstanceKey`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1InstanceKey.html)
* π [Python API docs for `InstanceKey`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.InstanceKey)
* π¦ [Rust API docs for `InstanceKey`](https://docs.rs/rerun/latest/rerun/components/struct.InstanceKey.html)
diff --git a/docs/content/reference/types/components/keypoint_id.md b/docs/content/reference/types/components/keypoint_id.md
index 8f0d2a028092..0571a566b9be 100644
--- a/docs/content/reference/types/components/keypoint_id.md
+++ b/docs/content/reference/types/components/keypoint_id.md
@@ -9,7 +9,7 @@ A 16-bit ID representing a type of semantic keypoint within a class.
* id: [`KeypointId`](../datatypes/keypoint_id.md)
## Links
- * π [C++ API docs for `KeypointId`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1KeypointId.html?speculative-link)
+ * π [C++ API docs for `KeypointId`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1KeypointId.html)
* π [Python API docs for `KeypointId`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.KeypointId)
* π¦ [Rust API docs for `KeypointId`](https://docs.rs/rerun/latest/rerun/components/struct.KeypointId.html)
diff --git a/docs/content/reference/types/components/line_strip2d.md b/docs/content/reference/types/components/line_strip2d.md
index 32cde3e3fe8c..4e65d403565c 100644
--- a/docs/content/reference/types/components/line_strip2d.md
+++ b/docs/content/reference/types/components/line_strip2d.md
@@ -20,7 +20,7 @@ The points will be connected in order, like so:
* points: [`Vec2D`](../datatypes/vec2d.md)
## Links
- * π [C++ API docs for `LineStrip2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1LineStrip2D.html?speculative-link)
+ * π [C++ API docs for `LineStrip2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1LineStrip2D.html)
* π [Python API docs for `LineStrip2D`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.LineStrip2D)
* π¦ [Rust API docs for `LineStrip2D`](https://docs.rs/rerun/latest/rerun/components/struct.LineStrip2D.html)
diff --git a/docs/content/reference/types/components/line_strip3d.md b/docs/content/reference/types/components/line_strip3d.md
index 4f2bb2dba49d..fbde16e2d02f 100644
--- a/docs/content/reference/types/components/line_strip3d.md
+++ b/docs/content/reference/types/components/line_strip3d.md
@@ -20,7 +20,7 @@ The points will be connected in order, like so:
* points: [`Vec3D`](../datatypes/vec3d.md)
## Links
- * π [C++ API docs for `LineStrip3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1LineStrip3D.html?speculative-link)
+ * π [C++ API docs for `LineStrip3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1LineStrip3D.html)
* π [Python API docs for `LineStrip3D`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.LineStrip3D)
* π¦ [Rust API docs for `LineStrip3D`](https://docs.rs/rerun/latest/rerun/components/struct.LineStrip3D.html)
diff --git a/docs/content/reference/types/components/material.md b/docs/content/reference/types/components/material.md
index af920ebb362a..c976e3cd31e0 100644
--- a/docs/content/reference/types/components/material.md
+++ b/docs/content/reference/types/components/material.md
@@ -9,7 +9,7 @@ Material properties of a mesh.
* material: [`Material`](../datatypes/material.md)
## Links
- * π [C++ API docs for `Material`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Material.html?speculative-link)
+ * π [C++ API docs for `Material`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Material.html)
* π [Python API docs for `Material`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.Material)
* π¦ [Rust API docs for `Material`](https://docs.rs/rerun/latest/rerun/components/struct.Material.html)
diff --git a/docs/content/reference/types/components/media_type.md b/docs/content/reference/types/components/media_type.md
index 4d6de9cdc1be..9b8799bbdec6 100644
--- a/docs/content/reference/types/components/media_type.md
+++ b/docs/content/reference/types/components/media_type.md
@@ -12,7 +12,7 @@ consulted at .
* value: [`Utf8`](../datatypes/utf8.md)
## Links
- * π [C++ API docs for `MediaType`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1MediaType.html?speculative-link)
+ * π [C++ API docs for `MediaType`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1MediaType.html)
* π [Python API docs for `MediaType`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.MediaType)
* π¦ [Rust API docs for `MediaType`](https://docs.rs/rerun/latest/rerun/components/struct.MediaType.html)
diff --git a/docs/content/reference/types/components/mesh_properties.md b/docs/content/reference/types/components/mesh_properties.md
index a9edce20dd66..9c73203e3c63 100644
--- a/docs/content/reference/types/components/mesh_properties.md
+++ b/docs/content/reference/types/components/mesh_properties.md
@@ -9,7 +9,7 @@ Optional triangle indices for a mesh.
* props: [`MeshProperties`](../datatypes/mesh_properties.md)
## Links
- * π [C++ API docs for `MeshProperties`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1MeshProperties.html?speculative-link)
+ * π [C++ API docs for `MeshProperties`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1MeshProperties.html)
* π [Python API docs for `MeshProperties`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.MeshProperties)
* π¦ [Rust API docs for `MeshProperties`](https://docs.rs/rerun/latest/rerun/components/struct.MeshProperties.html)
diff --git a/docs/content/reference/types/components/out_of_tree_transform3d.md b/docs/content/reference/types/components/out_of_tree_transform3d.md
index 757325d45b5d..ff6a70c37f9f 100644
--- a/docs/content/reference/types/components/out_of_tree_transform3d.md
+++ b/docs/content/reference/types/components/out_of_tree_transform3d.md
@@ -11,7 +11,7 @@ An out-of-tree affine transform between two 3D spaces, represented in a given di
* repr: [`Transform3D`](../datatypes/transform3d.md)
## Links
- * π [C++ API docs for `OutOfTreeTransform3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1OutOfTreeTransform3D.html?speculative-link)
+ * π [C++ API docs for `OutOfTreeTransform3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1OutOfTreeTransform3D.html)
* π [Python API docs for `OutOfTreeTransform3D`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.OutOfTreeTransform3D)
* π¦ [Rust API docs for `OutOfTreeTransform3D`](https://docs.rs/rerun/latest/rerun/components/struct.OutOfTreeTransform3D.html)
diff --git a/docs/content/reference/types/components/pinhole_projection.md b/docs/content/reference/types/components/pinhole_projection.md
index 0a097891e7cb..7feb34f773fc 100644
--- a/docs/content/reference/types/components/pinhole_projection.md
+++ b/docs/content/reference/types/components/pinhole_projection.md
@@ -19,7 +19,7 @@ Example:
* image_from_camera: [`Mat3x3`](../datatypes/mat3x3.md)
## Links
- * π [C++ API docs for `PinholeProjection`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1PinholeProjection.html?speculative-link)
+ * π [C++ API docs for `PinholeProjection`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1PinholeProjection.html)
* π [Python API docs for `PinholeProjection`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.PinholeProjection)
* π¦ [Rust API docs for `PinholeProjection`](https://docs.rs/rerun/latest/rerun/components/struct.PinholeProjection.html)
diff --git a/docs/content/reference/types/components/position2d.md b/docs/content/reference/types/components/position2d.md
index 738e0e38fbf4..2d1eb8500655 100644
--- a/docs/content/reference/types/components/position2d.md
+++ b/docs/content/reference/types/components/position2d.md
@@ -9,7 +9,7 @@ A position in 2D space.
* xy: [`Vec2D`](../datatypes/vec2d.md)
## Links
- * π [C++ API docs for `Position2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Position2D.html?speculative-link)
+ * π [C++ API docs for `Position2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Position2D.html)
* π [Python API docs for `Position2D`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.Position2D)
* π¦ [Rust API docs for `Position2D`](https://docs.rs/rerun/latest/rerun/components/struct.Position2D.html)
diff --git a/docs/content/reference/types/components/position3d.md b/docs/content/reference/types/components/position3d.md
index dd4dfd3b135f..eb40fd01307c 100644
--- a/docs/content/reference/types/components/position3d.md
+++ b/docs/content/reference/types/components/position3d.md
@@ -9,7 +9,7 @@ A position in 3D space.
* xyz: [`Vec3D`](../datatypes/vec3d.md)
## Links
- * π [C++ API docs for `Position3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Position3D.html?speculative-link)
+ * π [C++ API docs for `Position3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Position3D.html)
* π [Python API docs for `Position3D`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.Position3D)
* π¦ [Rust API docs for `Position3D`](https://docs.rs/rerun/latest/rerun/components/struct.Position3D.html)
diff --git a/docs/content/reference/types/components/radius.md b/docs/content/reference/types/components/radius.md
index 0b83f9e1ba34..4281153e4b72 100644
--- a/docs/content/reference/types/components/radius.md
+++ b/docs/content/reference/types/components/radius.md
@@ -6,7 +6,7 @@ A Radius component.
## Links
- * π [C++ API docs for `Radius`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Radius.html?speculative-link)
+ * π [C++ API docs for `Radius`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Radius.html)
* π [Python API docs for `Radius`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.Radius)
* π¦ [Rust API docs for `Radius`](https://docs.rs/rerun/latest/rerun/components/struct.Radius.html)
diff --git a/docs/content/reference/types/components/resolution.md b/docs/content/reference/types/components/resolution.md
index 239e506334d4..e789ccaed892 100644
--- a/docs/content/reference/types/components/resolution.md
+++ b/docs/content/reference/types/components/resolution.md
@@ -11,7 +11,7 @@ Typically in integer units, but for some use cases floating point may be used.
* resolution: [`Vec2D`](../datatypes/vec2d.md)
## Links
- * π [C++ API docs for `Resolution`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Resolution.html?speculative-link)
+ * π [C++ API docs for `Resolution`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Resolution.html)
* π [Python API docs for `Resolution`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.Resolution)
* π¦ [Rust API docs for `Resolution`](https://docs.rs/rerun/latest/rerun/components/struct.Resolution.html)
diff --git a/docs/content/reference/types/components/rotation3d.md b/docs/content/reference/types/components/rotation3d.md
index 0d0f6243623e..070d9f9945e6 100644
--- a/docs/content/reference/types/components/rotation3d.md
+++ b/docs/content/reference/types/components/rotation3d.md
@@ -9,7 +9,7 @@ A 3D rotation, represented either by a quaternion or a rotation around axis.
* repr: [`Rotation3D`](../datatypes/rotation3d.md)
## Links
- * π [C++ API docs for `Rotation3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Rotation3D.html?speculative-link)
+ * π [C++ API docs for `Rotation3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Rotation3D.html)
* π [Python API docs for `Rotation3D`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.Rotation3D)
* π¦ [Rust API docs for `Rotation3D`](https://docs.rs/rerun/latest/rerun/components/struct.Rotation3D.html)
diff --git a/docs/content/reference/types/components/scalar.md b/docs/content/reference/types/components/scalar.md
index 80f980c4fd8d..8a814f7be107 100644
--- a/docs/content/reference/types/components/scalar.md
+++ b/docs/content/reference/types/components/scalar.md
@@ -8,7 +8,7 @@ Used for time series plots.
## Links
- * π [C++ API docs for `Scalar`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Scalar.html?speculative-link)
+ * π [C++ API docs for `Scalar`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Scalar.html)
* π [Python API docs for `Scalar`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.Scalar)
* π¦ [Rust API docs for `Scalar`](https://docs.rs/rerun/latest/rerun/components/struct.Scalar.html)
diff --git a/docs/content/reference/types/components/scalar_scattering.md b/docs/content/reference/types/components/scalar_scattering.md
index 2eda3a3b1e2d..bd2c67aaf903 100644
--- a/docs/content/reference/types/components/scalar_scattering.md
+++ b/docs/content/reference/types/components/scalar_scattering.md
@@ -6,7 +6,7 @@ If true, a scalar will be shown as individual point in a scatter plot.
## Links
- * π [C++ API docs for `ScalarScattering`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1ScalarScattering.html?speculative-link)
+ * π [C++ API docs for `ScalarScattering`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1ScalarScattering.html)
* π [Python API docs for `ScalarScattering`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.ScalarScattering)
* π¦ [Rust API docs for `ScalarScattering`](https://docs.rs/rerun/latest/rerun/components/struct.ScalarScattering.html)
diff --git a/docs/content/reference/types/components/tensor_data.md b/docs/content/reference/types/components/tensor_data.md
index 7a3243de9d15..fb2a37846015 100644
--- a/docs/content/reference/types/components/tensor_data.md
+++ b/docs/content/reference/types/components/tensor_data.md
@@ -9,7 +9,7 @@ A multi-dimensional `Tensor` with optionally named arguments.
* data: [`TensorData`](../datatypes/tensor_data.md)
## Links
- * π [C++ API docs for `TensorData`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1TensorData.html?speculative-link)
+ * π [C++ API docs for `TensorData`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1TensorData.html)
* π [Python API docs for `TensorData`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.TensorData)
* π¦ [Rust API docs for `TensorData`](https://docs.rs/rerun/latest/rerun/components/struct.TensorData.html)
diff --git a/docs/content/reference/types/components/text.md b/docs/content/reference/types/components/text.md
index 0ed1dac39c0b..f50b57310b27 100644
--- a/docs/content/reference/types/components/text.md
+++ b/docs/content/reference/types/components/text.md
@@ -9,7 +9,7 @@ A string of text, e.g. for labels and text documents.
* value: [`Utf8`](../datatypes/utf8.md)
## Links
- * π [C++ API docs for `Text`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Text.html?speculative-link)
+ * π [C++ API docs for `Text`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Text.html)
* π [Python API docs for `Text`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.Text)
* π¦ [Rust API docs for `Text`](https://docs.rs/rerun/latest/rerun/components/struct.Text.html)
diff --git a/docs/content/reference/types/components/text_log_level.md b/docs/content/reference/types/components/text_log_level.md
index 45bd81df7872..446e576fae6b 100644
--- a/docs/content/reference/types/components/text_log_level.md
+++ b/docs/content/reference/types/components/text_log_level.md
@@ -17,7 +17,7 @@ Recommended to be one of:
* value: [`Utf8`](../datatypes/utf8.md)
## Links
- * π [C++ API docs for `TextLogLevel`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1TextLogLevel.html?speculative-link)
+ * π [C++ API docs for `TextLogLevel`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1TextLogLevel.html)
* π [Python API docs for `TextLogLevel`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.TextLogLevel)
* π¦ [Rust API docs for `TextLogLevel`](https://docs.rs/rerun/latest/rerun/components/struct.TextLogLevel.html)
diff --git a/docs/content/reference/types/components/transform3d.md b/docs/content/reference/types/components/transform3d.md
index f6e22be9d44a..1fa3db197971 100644
--- a/docs/content/reference/types/components/transform3d.md
+++ b/docs/content/reference/types/components/transform3d.md
@@ -9,7 +9,7 @@ An affine transform between two 3D spaces, represented in a given direction.
* repr: [`Transform3D`](../datatypes/transform3d.md)
## Links
- * π [C++ API docs for `Transform3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Transform3D.html?speculative-link)
+ * π [C++ API docs for `Transform3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Transform3D.html)
* π [Python API docs for `Transform3D`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.Transform3D)
* π¦ [Rust API docs for `Transform3D`](https://docs.rs/rerun/latest/rerun/components/struct.Transform3D.html)
diff --git a/docs/content/reference/types/components/vector3d.md b/docs/content/reference/types/components/vector3d.md
index b96425dd6349..7c407913db2a 100644
--- a/docs/content/reference/types/components/vector3d.md
+++ b/docs/content/reference/types/components/vector3d.md
@@ -9,7 +9,7 @@ A vector in 3D space.
* vector: [`Vec3D`](../datatypes/vec3d.md)
## Links
- * π [C++ API docs for `Vector3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Vector3D.html?speculative-link)
+ * π [C++ API docs for `Vector3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Vector3D.html)
* π [Python API docs for `Vector3D`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.Vector3D)
* π¦ [Rust API docs for `Vector3D`](https://docs.rs/rerun/latest/rerun/components/struct.Vector3D.html)
diff --git a/docs/content/reference/types/components/view_coordinates.md b/docs/content/reference/types/components/view_coordinates.md
index 96b393880b1a..9d97045896e4 100644
--- a/docs/content/reference/types/components/view_coordinates.md
+++ b/docs/content/reference/types/components/view_coordinates.md
@@ -21,7 +21,7 @@ The following constants are used to represent the different directions:
## Links
- * π [C++ API docs for `ViewCoordinates`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1ViewCoordinates.html?speculative-link)
+ * π [C++ API docs for `ViewCoordinates`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1ViewCoordinates.html)
* π [Python API docs for `ViewCoordinates`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.ViewCoordinates)
* π¦ [Rust API docs for `ViewCoordinates`](https://docs.rs/rerun/latest/rerun/components/struct.ViewCoordinates.html)
diff --git a/docs/content/reference/types/datatypes/angle.md b/docs/content/reference/types/datatypes/angle.md
index 3c1c3ef03685..9726f6e743ef 100644
--- a/docs/content/reference/types/datatypes/angle.md
+++ b/docs/content/reference/types/datatypes/angle.md
@@ -6,7 +6,7 @@ Angle in either radians or degrees.
## Links
- * π [C++ API docs for `Angle`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Angle.html?speculative-link)
+ * π [C++ API docs for `Angle`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Angle.html)
* π [Python API docs for `Angle`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.Angle)
* π¦ [Rust API docs for `Angle`](https://docs.rs/rerun/latest/rerun/datatypes/enum.Angle.html)
diff --git a/docs/content/reference/types/datatypes/annotation_info.md b/docs/content/reference/types/datatypes/annotation_info.md
index 7d2697426452..0cd6e7758b5e 100644
--- a/docs/content/reference/types/datatypes/annotation_info.md
+++ b/docs/content/reference/types/datatypes/annotation_info.md
@@ -13,7 +13,7 @@ The id refers either to a class or key-point id
* color: [`Rgba32`](../datatypes/rgba32.md)
## Links
- * π [C++ API docs for `AnnotationInfo`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1AnnotationInfo.html?speculative-link)
+ * π [C++ API docs for `AnnotationInfo`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1AnnotationInfo.html)
* π [Python API docs for `AnnotationInfo`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.AnnotationInfo)
* π¦ [Rust API docs for `AnnotationInfo`](https://docs.rs/rerun/latest/rerun/datatypes/struct.AnnotationInfo.html)
diff --git a/docs/content/reference/types/datatypes/class_description.md b/docs/content/reference/types/datatypes/class_description.md
index 1b44a3bd9c2d..e2729f73269f 100644
--- a/docs/content/reference/types/datatypes/class_description.md
+++ b/docs/content/reference/types/datatypes/class_description.md
@@ -24,7 +24,7 @@ colored as described by the class's `AnnotationInfo`.
* keypoint_connections: [`KeypointPair`](../datatypes/keypoint_pair.md)
## Links
- * π [C++ API docs for `ClassDescription`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1ClassDescription.html?speculative-link)
+ * π [C++ API docs for `ClassDescription`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1ClassDescription.html)
* π [Python API docs for `ClassDescription`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.ClassDescription)
* π¦ [Rust API docs for `ClassDescription`](https://docs.rs/rerun/latest/rerun/datatypes/struct.ClassDescription.html)
diff --git a/docs/content/reference/types/datatypes/class_description_map_elem.md b/docs/content/reference/types/datatypes/class_description_map_elem.md
index e42a47dc9fc8..6c957bc6f04a 100644
--- a/docs/content/reference/types/datatypes/class_description_map_elem.md
+++ b/docs/content/reference/types/datatypes/class_description_map_elem.md
@@ -12,7 +12,7 @@ This is internal to the `AnnotationContext` structure.
* class_description: [`ClassDescription`](../datatypes/class_description.md)
## Links
- * π [C++ API docs for `ClassDescriptionMapElem`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1ClassDescriptionMapElem.html?speculative-link)
+ * π [C++ API docs for `ClassDescriptionMapElem`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1ClassDescriptionMapElem.html)
* π [Python API docs for `ClassDescriptionMapElem`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.ClassDescriptionMapElem)
* π¦ [Rust API docs for `ClassDescriptionMapElem`](https://docs.rs/rerun/latest/rerun/datatypes/struct.ClassDescriptionMapElem.html)
diff --git a/docs/content/reference/types/datatypes/class_id.md b/docs/content/reference/types/datatypes/class_id.md
index dfcca62474fc..53673e9b2141 100644
--- a/docs/content/reference/types/datatypes/class_id.md
+++ b/docs/content/reference/types/datatypes/class_id.md
@@ -6,7 +6,7 @@ A 16-bit ID representing a type of semantic class.
## Links
- * π [C++ API docs for `ClassId`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1ClassId.html?speculative-link)
+ * π [C++ API docs for `ClassId`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1ClassId.html)
* π [Python API docs for `ClassId`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.ClassId)
* π¦ [Rust API docs for `ClassId`](https://docs.rs/rerun/latest/rerun/datatypes/struct.ClassId.html)
diff --git a/docs/content/reference/types/datatypes/float32.md b/docs/content/reference/types/datatypes/float32.md
index f47b9bf315ce..dab827ffffde 100644
--- a/docs/content/reference/types/datatypes/float32.md
+++ b/docs/content/reference/types/datatypes/float32.md
@@ -6,7 +6,7 @@ A single-precision 32-bit IEEE 754 floating point number.
## Links
- * π [C++ API docs for `Float32`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Float32.html?speculative-link)
+ * π [C++ API docs for `Float32`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Float32.html)
* π [Python API docs for `Float32`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.Float32)
* π¦ [Rust API docs for `Float32`](https://docs.rs/rerun/latest/rerun/datatypes/struct.Float32.html)
diff --git a/docs/content/reference/types/datatypes/keypoint_id.md b/docs/content/reference/types/datatypes/keypoint_id.md
index 47a5cefc4372..e61a3c87b15c 100644
--- a/docs/content/reference/types/datatypes/keypoint_id.md
+++ b/docs/content/reference/types/datatypes/keypoint_id.md
@@ -6,7 +6,7 @@ A 16-bit ID representing a type of semantic keypoint within a class.
## Links
- * π [C++ API docs for `KeypointId`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1KeypointId.html?speculative-link)
+ * π [C++ API docs for `KeypointId`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1KeypointId.html)
* π [Python API docs for `KeypointId`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.KeypointId)
* π¦ [Rust API docs for `KeypointId`](https://docs.rs/rerun/latest/rerun/datatypes/struct.KeypointId.html)
diff --git a/docs/content/reference/types/datatypes/keypoint_pair.md b/docs/content/reference/types/datatypes/keypoint_pair.md
index 28cdc8ad89c1..a30c87d958b6 100644
--- a/docs/content/reference/types/datatypes/keypoint_pair.md
+++ b/docs/content/reference/types/datatypes/keypoint_pair.md
@@ -10,7 +10,7 @@ A connection between two `Keypoints`.
* keypoint1: [`KeypointId`](../datatypes/keypoint_id.md)
## Links
- * π [C++ API docs for `KeypointPair`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1KeypointPair.html?speculative-link)
+ * π [C++ API docs for `KeypointPair`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1KeypointPair.html)
* π [Python API docs for `KeypointPair`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.KeypointPair)
* π¦ [Rust API docs for `KeypointPair`](https://docs.rs/rerun/latest/rerun/datatypes/struct.KeypointPair.html)
diff --git a/docs/content/reference/types/datatypes/mat3x3.md b/docs/content/reference/types/datatypes/mat3x3.md
index 0f9d986a4b9e..344049d43f5f 100644
--- a/docs/content/reference/types/datatypes/mat3x3.md
+++ b/docs/content/reference/types/datatypes/mat3x3.md
@@ -15,7 +15,7 @@ row 2 | flat_columns[2] flat_columns[5] flat_columns[8]
## Links
- * π [C++ API docs for `Mat3x3`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Mat3x3.html?speculative-link)
+ * π [C++ API docs for `Mat3x3`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Mat3x3.html)
* π [Python API docs for `Mat3x3`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.Mat3x3)
* π¦ [Rust API docs for `Mat3x3`](https://docs.rs/rerun/latest/rerun/datatypes/struct.Mat3x3.html)
diff --git a/docs/content/reference/types/datatypes/mat4x4.md b/docs/content/reference/types/datatypes/mat4x4.md
index 1c922d44e602..6449f4256522 100644
--- a/docs/content/reference/types/datatypes/mat4x4.md
+++ b/docs/content/reference/types/datatypes/mat4x4.md
@@ -16,7 +16,7 @@ row 3 | flat_columns[3] flat_columns[7] flat_columns[11] flat_columns[15]
## Links
- * π [C++ API docs for `Mat4x4`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Mat4x4.html?speculative-link)
+ * π [C++ API docs for `Mat4x4`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Mat4x4.html)
* π [Python API docs for `Mat4x4`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.Mat4x4)
* π¦ [Rust API docs for `Mat4x4`](https://docs.rs/rerun/latest/rerun/datatypes/struct.Mat4x4.html)
diff --git a/docs/content/reference/types/datatypes/material.md b/docs/content/reference/types/datatypes/material.md
index d9bb352abee8..3b2a1d1fd1f2 100644
--- a/docs/content/reference/types/datatypes/material.md
+++ b/docs/content/reference/types/datatypes/material.md
@@ -9,7 +9,7 @@ Material properties of a mesh.
* albedo_factor: [`Rgba32`](../datatypes/rgba32.md)
## Links
- * π [C++ API docs for `Material`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Material.html?speculative-link)
+ * π [C++ API docs for `Material`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Material.html)
* π [Python API docs for `Material`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.Material)
* π¦ [Rust API docs for `Material`](https://docs.rs/rerun/latest/rerun/datatypes/struct.Material.html)
diff --git a/docs/content/reference/types/datatypes/mesh_properties.md b/docs/content/reference/types/datatypes/mesh_properties.md
index 8ea14dd7eb97..fae6e1836fc8 100644
--- a/docs/content/reference/types/datatypes/mesh_properties.md
+++ b/docs/content/reference/types/datatypes/mesh_properties.md
@@ -6,7 +6,7 @@ Optional triangle indices for a mesh.
## Links
- * π [C++ API docs for `MeshProperties`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1MeshProperties.html?speculative-link)
+ * π [C++ API docs for `MeshProperties`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1MeshProperties.html)
* π [Python API docs for `MeshProperties`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.MeshProperties)
* π¦ [Rust API docs for `MeshProperties`](https://docs.rs/rerun/latest/rerun/datatypes/struct.MeshProperties.html)
diff --git a/docs/content/reference/types/datatypes/quaternion.md b/docs/content/reference/types/datatypes/quaternion.md
index 1b7bd88ff5df..2f67bbed834c 100644
--- a/docs/content/reference/types/datatypes/quaternion.md
+++ b/docs/content/reference/types/datatypes/quaternion.md
@@ -9,7 +9,7 @@ datastore as provided, when used in the viewer Quaternions will always be normal
## Links
- * π [C++ API docs for `Quaternion`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Quaternion.html?speculative-link)
+ * π [C++ API docs for `Quaternion`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Quaternion.html)
* π [Python API docs for `Quaternion`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.Quaternion)
* π¦ [Rust API docs for `Quaternion`](https://docs.rs/rerun/latest/rerun/datatypes/struct.Quaternion.html)
diff --git a/docs/content/reference/types/datatypes/rgba32.md b/docs/content/reference/types/datatypes/rgba32.md
index 905a0e6fb748..8a94e8dc8640 100644
--- a/docs/content/reference/types/datatypes/rgba32.md
+++ b/docs/content/reference/types/datatypes/rgba32.md
@@ -9,7 +9,7 @@ byte is `R` and the least significant byte is `A`.
## Links
- * π [C++ API docs for `Rgba32`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Rgba32.html?speculative-link)
+ * π [C++ API docs for `Rgba32`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Rgba32.html)
* π [Python API docs for `Rgba32`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.Rgba32)
* π¦ [Rust API docs for `Rgba32`](https://docs.rs/rerun/latest/rerun/datatypes/struct.Rgba32.html)
diff --git a/docs/content/reference/types/datatypes/rotation3d.md b/docs/content/reference/types/datatypes/rotation3d.md
index 68fad740ad85..6ce8d191232b 100644
--- a/docs/content/reference/types/datatypes/rotation3d.md
+++ b/docs/content/reference/types/datatypes/rotation3d.md
@@ -10,7 +10,7 @@ A 3D rotation.
* AxisAngle: [`RotationAxisAngle`](../datatypes/rotation_axis_angle.md)
## Links
- * π [C++ API docs for `Rotation3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Rotation3D.html?speculative-link)
+ * π [C++ API docs for `Rotation3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Rotation3D.html)
* π [Python API docs for `Rotation3D`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.Rotation3D)
* π¦ [Rust API docs for `Rotation3D`](https://docs.rs/rerun/latest/rerun/datatypes/enum.Rotation3D.html)
diff --git a/docs/content/reference/types/datatypes/rotation_axis_angle.md b/docs/content/reference/types/datatypes/rotation_axis_angle.md
index b81e9550f906..ca4e74e99dd8 100644
--- a/docs/content/reference/types/datatypes/rotation_axis_angle.md
+++ b/docs/content/reference/types/datatypes/rotation_axis_angle.md
@@ -10,7 +10,7 @@ title: "RotationAxisAngle"
* angle: [`Angle`](../datatypes/angle.md)
## Links
- * π [C++ API docs for `RotationAxisAngle`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1RotationAxisAngle.html?speculative-link)
+ * π [C++ API docs for `RotationAxisAngle`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1RotationAxisAngle.html)
* π [Python API docs for `RotationAxisAngle`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.RotationAxisAngle)
* π¦ [Rust API docs for `RotationAxisAngle`](https://docs.rs/rerun/latest/rerun/datatypes/struct.RotationAxisAngle.html)
diff --git a/docs/content/reference/types/datatypes/scale3d.md b/docs/content/reference/types/datatypes/scale3d.md
index b00208ad55e5..654fcf140842 100644
--- a/docs/content/reference/types/datatypes/scale3d.md
+++ b/docs/content/reference/types/datatypes/scale3d.md
@@ -9,7 +9,7 @@ title: "Scale3D"
* ThreeD: [`Vec3D`](../datatypes/vec3d.md)
## Links
- * π [C++ API docs for `Scale3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Scale3D.html?speculative-link)
+ * π [C++ API docs for `Scale3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Scale3D.html)
* π [Python API docs for `Scale3D`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.Scale3D)
* π¦ [Rust API docs for `Scale3D`](https://docs.rs/rerun/latest/rerun/datatypes/enum.Scale3D.html)
diff --git a/docs/content/reference/types/datatypes/tensor_buffer.md b/docs/content/reference/types/datatypes/tensor_buffer.md
index ec35e3cdd9d1..db901f815276 100644
--- a/docs/content/reference/types/datatypes/tensor_buffer.md
+++ b/docs/content/reference/types/datatypes/tensor_buffer.md
@@ -8,7 +8,7 @@ Tensor elements are stored in a contiguous buffer of a single type.
## Links
- * π [C++ API docs for `TensorBuffer`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1TensorBuffer.html?speculative-link)
+ * π [C++ API docs for `TensorBuffer`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1TensorBuffer.html)
* π [Python API docs for `TensorBuffer`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.TensorBuffer)
* π¦ [Rust API docs for `TensorBuffer`](https://docs.rs/rerun/latest/rerun/datatypes/enum.TensorBuffer.html)
diff --git a/docs/content/reference/types/datatypes/tensor_data.md b/docs/content/reference/types/datatypes/tensor_data.md
index c1ab40e11f0f..a68ec7f7aeae 100644
--- a/docs/content/reference/types/datatypes/tensor_data.md
+++ b/docs/content/reference/types/datatypes/tensor_data.md
@@ -17,7 +17,7 @@ which stores a contiguous array of typed values.
* buffer: [`TensorBuffer`](../datatypes/tensor_buffer.md)
## Links
- * π [C++ API docs for `TensorData`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1TensorData.html?speculative-link)
+ * π [C++ API docs for `TensorData`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1TensorData.html)
* π [Python API docs for `TensorData`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.TensorData)
* π¦ [Rust API docs for `TensorData`](https://docs.rs/rerun/latest/rerun/datatypes/struct.TensorData.html)
diff --git a/docs/content/reference/types/datatypes/tensor_dimension.md b/docs/content/reference/types/datatypes/tensor_dimension.md
index 0c0cf91aca68..db3da10e1d60 100644
--- a/docs/content/reference/types/datatypes/tensor_dimension.md
+++ b/docs/content/reference/types/datatypes/tensor_dimension.md
@@ -6,7 +6,7 @@ A single dimension within a multi-dimensional tensor.
## Links
- * π [C++ API docs for `TensorDimension`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1TensorDimension.html?speculative-link)
+ * π [C++ API docs for `TensorDimension`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1TensorDimension.html)
* π [Python API docs for `TensorDimension`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.TensorDimension)
* π¦ [Rust API docs for `TensorDimension`](https://docs.rs/rerun/latest/rerun/datatypes/struct.TensorDimension.html)
diff --git a/docs/content/reference/types/datatypes/transform3d.md b/docs/content/reference/types/datatypes/transform3d.md
index 151df919a82a..ec5003bd5e9f 100644
--- a/docs/content/reference/types/datatypes/transform3d.md
+++ b/docs/content/reference/types/datatypes/transform3d.md
@@ -10,7 +10,7 @@ Representation of a 3D affine transform.
* TranslationRotationScale: [`TranslationRotationScale3D`](../datatypes/translation_rotation_scale3d.md)
## Links
- * π [C++ API docs for `Transform3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Transform3D.html?speculative-link)
+ * π [C++ API docs for `Transform3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Transform3D.html)
* π [Python API docs for `Transform3D`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.Transform3D)
* π¦ [Rust API docs for `Transform3D`](https://docs.rs/rerun/latest/rerun/datatypes/enum.Transform3D.html)
diff --git a/docs/content/reference/types/datatypes/translation_and_mat3x3.md b/docs/content/reference/types/datatypes/translation_and_mat3x3.md
index af3324f9ebd7..10655ea1fc31 100644
--- a/docs/content/reference/types/datatypes/translation_and_mat3x3.md
+++ b/docs/content/reference/types/datatypes/translation_and_mat3x3.md
@@ -12,7 +12,7 @@ First applies the matrix, then the translation.
* mat3x3: [`Mat3x3`](../datatypes/mat3x3.md)
## Links
- * π [C++ API docs for `TranslationAndMat3x3`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1TranslationAndMat3x3.html?speculative-link)
+ * π [C++ API docs for `TranslationAndMat3x3`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1TranslationAndMat3x3.html)
* π [Python API docs for `TranslationAndMat3x3`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.TranslationAndMat3x3)
* π¦ [Rust API docs for `TranslationAndMat3x3`](https://docs.rs/rerun/latest/rerun/datatypes/struct.TranslationAndMat3x3.html)
diff --git a/docs/content/reference/types/datatypes/translation_rotation_scale3d.md b/docs/content/reference/types/datatypes/translation_rotation_scale3d.md
index ea689b82ba41..ce156318bf51 100644
--- a/docs/content/reference/types/datatypes/translation_rotation_scale3d.md
+++ b/docs/content/reference/types/datatypes/translation_rotation_scale3d.md
@@ -11,7 +11,7 @@ Representation of an affine transform via separate translation, rotation & scale
* scale: [`Scale3D`](../datatypes/scale3d.md)
## Links
- * π [C++ API docs for `TranslationRotationScale3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1TranslationRotationScale3D.html?speculative-link)
+ * π [C++ API docs for `TranslationRotationScale3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1TranslationRotationScale3D.html)
* π [Python API docs for `TranslationRotationScale3D`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.TranslationRotationScale3D)
* π¦ [Rust API docs for `TranslationRotationScale3D`](https://docs.rs/rerun/latest/rerun/datatypes/struct.TranslationRotationScale3D.html)
diff --git a/docs/content/reference/types/datatypes/uint32.md b/docs/content/reference/types/datatypes/uint32.md
index 768b00322304..75ed61103b00 100644
--- a/docs/content/reference/types/datatypes/uint32.md
+++ b/docs/content/reference/types/datatypes/uint32.md
@@ -6,7 +6,7 @@ A 32bit unsigned integer.
## Links
- * π [C++ API docs for `UInt32`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1UInt32.html?speculative-link)
+ * π [C++ API docs for `UInt32`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1UInt32.html)
* π [Python API docs for `UInt32`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.UInt32)
* π¦ [Rust API docs for `UInt32`](https://docs.rs/rerun/latest/rerun/datatypes/struct.UInt32.html)
diff --git a/docs/content/reference/types/datatypes/utf8.md b/docs/content/reference/types/datatypes/utf8.md
index f74f86806637..bdb1f0610539 100644
--- a/docs/content/reference/types/datatypes/utf8.md
+++ b/docs/content/reference/types/datatypes/utf8.md
@@ -6,7 +6,7 @@ A string of text, encoded as UTF-8.
## Links
- * π [C++ API docs for `Utf8`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Utf8.html?speculative-link)
+ * π [C++ API docs for `Utf8`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Utf8.html)
* π [Python API docs for `Utf8`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.Utf8)
* π¦ [Rust API docs for `Utf8`](https://docs.rs/rerun/latest/rerun/datatypes/struct.Utf8.html)
diff --git a/docs/content/reference/types/datatypes/uvec2d.md b/docs/content/reference/types/datatypes/uvec2d.md
index b9033b3d06a8..604bb41a6196 100644
--- a/docs/content/reference/types/datatypes/uvec2d.md
+++ b/docs/content/reference/types/datatypes/uvec2d.md
@@ -6,7 +6,7 @@ A uint32 vector in 2D space.
## Links
- * π [C++ API docs for `UVec2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1UVec2D.html?speculative-link)
+ * π [C++ API docs for `UVec2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1UVec2D.html)
* π [Python API docs for `UVec2D`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.UVec2D)
* π¦ [Rust API docs for `UVec2D`](https://docs.rs/rerun/latest/rerun/datatypes/struct.UVec2D.html)
diff --git a/docs/content/reference/types/datatypes/uvec3d.md b/docs/content/reference/types/datatypes/uvec3d.md
index 35bc354be150..79a96994c4c1 100644
--- a/docs/content/reference/types/datatypes/uvec3d.md
+++ b/docs/content/reference/types/datatypes/uvec3d.md
@@ -6,7 +6,7 @@ A uint32 vector in 3D space.
## Links
- * π [C++ API docs for `UVec3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1UVec3D.html?speculative-link)
+ * π [C++ API docs for `UVec3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1UVec3D.html)
* π [Python API docs for `UVec3D`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.UVec3D)
* π¦ [Rust API docs for `UVec3D`](https://docs.rs/rerun/latest/rerun/datatypes/struct.UVec3D.html)
diff --git a/docs/content/reference/types/datatypes/uvec4d.md b/docs/content/reference/types/datatypes/uvec4d.md
index e6a81d3cdb4e..b747d2df2a2f 100644
--- a/docs/content/reference/types/datatypes/uvec4d.md
+++ b/docs/content/reference/types/datatypes/uvec4d.md
@@ -6,7 +6,7 @@ A uint vector in 4D space.
## Links
- * π [C++ API docs for `UVec4D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1UVec4D.html?speculative-link)
+ * π [C++ API docs for `UVec4D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1UVec4D.html)
* π [Python API docs for `UVec4D`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.UVec4D)
* π¦ [Rust API docs for `UVec4D`](https://docs.rs/rerun/latest/rerun/datatypes/struct.UVec4D.html)
diff --git a/docs/content/reference/types/datatypes/vec2d.md b/docs/content/reference/types/datatypes/vec2d.md
index 42ddc9b98fbc..96d6546fc64d 100644
--- a/docs/content/reference/types/datatypes/vec2d.md
+++ b/docs/content/reference/types/datatypes/vec2d.md
@@ -6,7 +6,7 @@ A vector in 2D space.
## Links
- * π [C++ API docs for `Vec2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Vec2D.html?speculative-link)
+ * π [C++ API docs for `Vec2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Vec2D.html)
* π [Python API docs for `Vec2D`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.Vec2D)
* π¦ [Rust API docs for `Vec2D`](https://docs.rs/rerun/latest/rerun/datatypes/struct.Vec2D.html)
diff --git a/docs/content/reference/types/datatypes/vec3d.md b/docs/content/reference/types/datatypes/vec3d.md
index 1eb73514b3a9..9346c8f303d6 100644
--- a/docs/content/reference/types/datatypes/vec3d.md
+++ b/docs/content/reference/types/datatypes/vec3d.md
@@ -6,7 +6,7 @@ A vector in 3D space.
## Links
- * π [C++ API docs for `Vec3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Vec3D.html?speculative-link)
+ * π [C++ API docs for `Vec3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Vec3D.html)
* π [Python API docs for `Vec3D`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.Vec3D)
* π¦ [Rust API docs for `Vec3D`](https://docs.rs/rerun/latest/rerun/datatypes/struct.Vec3D.html)
diff --git a/docs/content/reference/types/datatypes/vec4d.md b/docs/content/reference/types/datatypes/vec4d.md
index 338a2bd7e967..29a70e77d5d3 100644
--- a/docs/content/reference/types/datatypes/vec4d.md
+++ b/docs/content/reference/types/datatypes/vec4d.md
@@ -6,7 +6,7 @@ A vector in 4D space.
## Links
- * π [C++ API docs for `Vec4D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Vec4D.html?speculative-link)
+ * π [C++ API docs for `Vec4D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Vec4D.html)
* π [Python API docs for `Vec4D`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.Vec4D)
* π¦ [Rust API docs for `Vec4D`](https://docs.rs/rerun/latest/rerun/datatypes/struct.Vec4D.html)
diff --git a/docs/cspell.json b/docs/cspell.json
index 6c3bc4f06039..3d8494ea388e 100644
--- a/docs/cspell.json
+++ b/docs/cspell.json
@@ -68,6 +68,7 @@
"CSRT",
"customizability",
"CVPR",
+ "dangush",
"dataclass",
"dataframe",
"datastructures",
@@ -94,6 +95,7 @@
"DRERUN",
"dtype",
"dtypes",
+ "Dvad",
"dylib",
"eframe",
"Efros",
@@ -301,6 +303,7 @@
"Sonoma",
"spaceview",
"spaceviews",
+ "spammy",
"srcset",
"stacklevel",
"startswith",
diff --git a/examples/cpp/custom_collection_adapter/README.md b/examples/cpp/custom_collection_adapter/README.md
index 6c00dabb6f8c..4ae9b47faba1 100644
--- a/examples/cpp/custom_collection_adapter/README.md
+++ b/examples/cpp/custom_collection_adapter/README.md
@@ -3,17 +3,17 @@
Especially when dealing with large amounts of data, it can be both slow and inconvenient to convert
your data into the components & datatypes provided by the Rerun SDK in order to log it.
-This example demonstrates how to solve this using [`rerun::ComponentAdapter`](https://ref.rerun.io/docs/cpp/latest/structrerun_1_1CollectionAdapter.html?speculative-link) for your own types:
+This example demonstrates how to solve this using [`rerun::ComponentAdapter`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1CollectionAdapter.html) for your own types:
Whenever you have data that is continuous in memory and binary compatible with an existing Rerun component,
you can adapt it to map to the respective Rerun component.
-
-For non-temporary objects that live until [`rerun::RecordingStream::log`](https://ref.rerun.io/docs/cpp/latest/classrerun_1_1RecordingStream.html?speculative-link) returns,
+
+For non-temporary objects that live until [`rerun::RecordingStream::log`](https://ref.rerun.io/docs/cpp/stable/classrerun_1_1RecordingStream.html) returns,
it is typically safe to do so with a zero-copy "borrow".
-This means that in those cases [`rerun::Collection`](https://ref.rerun.io/docs/cpp/latest/classrerun_1_1Collection.html?speculative-link) will merely store a pointer and a length to your data.
+This means that in those cases [`rerun::Collection`](https://ref.rerun.io/docs/cpp/stable/classrerun_1_1Collection.html) will merely store a pointer and a length to your data.
While collection adapters are primarily used with components, they are also useful for all other usages of
-rerun's collection type. E.g. the backing buffer of [`rerun::TensorData`](https://ref.rerun.io/docs/cpp/latest/structrerun_1_1datatypes_1_1TensorBuffer.html?speculative-link)
-is also a [`rerun::Collection`](https://ref.rerun.io/docs/cpp/latest/classrerun_1_1Collection.html?speculative-link)
+rerun's collection type. E.g. the backing buffer of [`rerun::TensorData`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1TensorBuffer.html)
+is also a [`rerun::Collection`](https://ref.rerun.io/docs/cpp/stable/classrerun_1_1Collection.html)
allowing you to ingest large amounts of data without a copy and the convenience custom adapters can provide.
diff --git a/examples/rust/clock/Cargo.toml b/examples/rust/clock/Cargo.toml
index bdd60c76f388..7079a4b39c78 100644
--- a/examples/rust/clock/Cargo.toml
+++ b/examples/rust/clock/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "clock"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
edition = "2021"
rust-version = "1.72"
license = "MIT OR Apache-2.0"
diff --git a/examples/rust/custom_space_view/Cargo.toml b/examples/rust/custom_space_view/Cargo.toml
index d554e4440678..ad391f8e5c5f 100644
--- a/examples/rust/custom_space_view/Cargo.toml
+++ b/examples/rust/custom_space_view/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "custom_space_view"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
edition = "2021"
rust-version = "1.72"
license = "MIT OR Apache-2.0"
diff --git a/examples/rust/custom_store_subscriber/Cargo.toml b/examples/rust/custom_store_subscriber/Cargo.toml
index dd62731bdcfc..a4e181414af3 100644
--- a/examples/rust/custom_store_subscriber/Cargo.toml
+++ b/examples/rust/custom_store_subscriber/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "custom_store_subscriber"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
edition = "2021"
rust-version = "1.72"
license = "MIT OR Apache-2.0"
diff --git a/examples/rust/dna/Cargo.toml b/examples/rust/dna/Cargo.toml
index e37e4622ab30..e63bc8cba745 100644
--- a/examples/rust/dna/Cargo.toml
+++ b/examples/rust/dna/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "dna"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
edition = "2021"
rust-version = "1.72"
license = "MIT OR Apache-2.0"
diff --git a/examples/rust/extend_viewer_ui/Cargo.toml b/examples/rust/extend_viewer_ui/Cargo.toml
index 3481a2bbf5e0..d85467e4bfb6 100644
--- a/examples/rust/extend_viewer_ui/Cargo.toml
+++ b/examples/rust/extend_viewer_ui/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "extend_viewer_ui"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
edition = "2021"
rust-version = "1.72"
license = "MIT OR Apache-2.0"
diff --git a/examples/rust/minimal/Cargo.toml b/examples/rust/minimal/Cargo.toml
index 29bb62d35a6e..a07f2040de67 100644
--- a/examples/rust/minimal/Cargo.toml
+++ b/examples/rust/minimal/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "minimal"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
edition = "2021"
rust-version = "1.72"
license = "MIT OR Apache-2.0"
diff --git a/examples/rust/minimal_options/Cargo.toml b/examples/rust/minimal_options/Cargo.toml
index 6aa86369478e..370e377afe99 100644
--- a/examples/rust/minimal_options/Cargo.toml
+++ b/examples/rust/minimal_options/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "minimal_options"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
edition = "2021"
rust-version = "1.72"
license = "MIT OR Apache-2.0"
diff --git a/examples/rust/minimal_serve/Cargo.toml b/examples/rust/minimal_serve/Cargo.toml
index 5059d77026e8..6d9131e4a5d5 100644
--- a/examples/rust/minimal_serve/Cargo.toml
+++ b/examples/rust/minimal_serve/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "minimal_serve"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
edition = "2021"
rust-version = "1.72"
license = "MIT OR Apache-2.0"
diff --git a/examples/rust/objectron/Cargo.toml b/examples/rust/objectron/Cargo.toml
index 4eabd64a8876..1b41d7888979 100644
--- a/examples/rust/objectron/Cargo.toml
+++ b/examples/rust/objectron/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "objectron"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
edition = "2021"
rust-version = "1.72"
license = "MIT OR Apache-2.0"
diff --git a/examples/rust/raw_mesh/Cargo.toml b/examples/rust/raw_mesh/Cargo.toml
index 53c2111efd3c..c0c130976a76 100644
--- a/examples/rust/raw_mesh/Cargo.toml
+++ b/examples/rust/raw_mesh/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "raw_mesh"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
edition = "2021"
rust-version = "1.72"
license = "MIT OR Apache-2.0"
diff --git a/examples/rust/spawn_viewer/Cargo.toml b/examples/rust/spawn_viewer/Cargo.toml
index e08c90b7faf8..8912722a784d 100644
--- a/examples/rust/spawn_viewer/Cargo.toml
+++ b/examples/rust/spawn_viewer/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "spawn_viewer"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
edition = "2021"
rust-version = "1.72"
license = "MIT OR Apache-2.0"
diff --git a/examples/rust/template/Cargo.toml b/examples/rust/template/Cargo.toml
index 54646d8da182..49ac83b636be 100644
--- a/examples/rust/template/Cargo.toml
+++ b/examples/rust/template/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "template"
-version = "0.11.0-alpha.1+dev"
+version = "0.12.0-alpha.1+dev"
edition = "2021"
rust-version = "1.72"
license = "MIT OR Apache-2.0"
diff --git a/rerun_cpp/README.md b/rerun_cpp/README.md
index ebff432d5e4e..23a9ddff5094 100644
--- a/rerun_cpp/README.md
+++ b/rerun_cpp/README.md
@@ -11,7 +11,7 @@ Read the [getting started guide](https://www.rerun.io/docs/getting-started/cpp)
### Logging
-After you've [installed the viewer](https://www.rerun.io/docs/getting-started/installing-viewer) and [added the SDK to your project](https://www.rerun.io/docs/reference/cpp-sdk-cmake), you can jump right in and try logging some data.
+After you've [installed the viewer](https://www.rerun.io/docs/getting-started/installing-viewer) and added the SDK to your project, you can jump right in and try logging some data.
You first create a `rerun::RecordingStream` stream and spawn a viewer. You then use it to log some archetypes to a given entity path using `rerun::RecordingStream::log`:
diff --git a/rerun_cpp/src/rerun/c/rerun.h b/rerun_cpp/src/rerun/c/rerun.h
index 4542c252c222..51dadea150c9 100644
--- a/rerun_cpp/src/rerun/c/rerun.h
+++ b/rerun_cpp/src/rerun/c/rerun.h
@@ -227,7 +227,7 @@ typedef struct rr_error {
///
/// This should match the string returned by `rr_version_string`.
/// If not, the SDK's binary and the C header are out of sync.
-#define RERUN_SDK_HEADER_VERSION "0.11.0-alpha.1+dev"
+#define RERUN_SDK_HEADER_VERSION "0.11.0"
/// Returns a human-readable version string of the Rerun C SDK.
///
diff --git a/rerun_js/web-viewer/README.md b/rerun_js/web-viewer/README.md
index a86906184d13..fee0bc8c211a 100644
--- a/rerun_js/web-viewer/README.md
+++ b/rerun_js/web-viewer/README.md
@@ -12,6 +12,8 @@ Embed the Rerun web viewer within your app.
+This package is framework-agnostic. A React wrapper is available at .
+
## Install
```
@@ -29,22 +31,27 @@ The web viewer is an object which manages a canvas element:
```js
import { WebViewer } from "@rerun-io/web-viewer";
-const URL = "β¦";
+const rrd = "β¦";
const parentElement = document.body;
const viewer = new WebViewer();
-await viewer.start(URL, parentElement);
+await viewer.start(rrd, parentElement);
// β¦
viewer.stop();
```
-You can style this canvas element however you wish.
+The `rrd` in the snippet above should be a URL pointing to either:
+- A hosted `.rrd` file, such as
+- A WebSocket connection to the SDK opened via the [`serve`](https://www.rerun.io/docs/reference/sdk-operating-modes#serve) API
+
+If `rrd` is not set, the viewer will display the same welcome screen as .
-For a live example, see https://github.com/rerun-io/web-viewer-example.
+For a full example, see https://github.com/rerun-io/web-viewer-example.
+You can open the example via CodeSandbox: https://codesandbox.io/s/github/rerun-io/web-viewer-example
βΉοΈ Note:
This package only targets recent versions of browsers.
-If your target browser does not support Wasm imports, you may need to install additional plugins for your bundler.
+If your target browser does not support Wasm imports or top-level await, you may need to install additional plugins for your bundler.
## Development
diff --git a/rerun_js/web-viewer/index.js b/rerun_js/web-viewer/index.js
index 3b87f2d2d20d..a72b5fbef516 100644
--- a/rerun_js/web-viewer/index.js
+++ b/rerun_js/web-viewer/index.js
@@ -29,18 +29,22 @@ export class WebViewer {
#canvas = null;
/**
- * @param {string} url
- * @param {HTMLElement} [parent]
+ * Start the viewer.
+ *
+ * @param {string} [rrd] Optional URL to an `.rrd` file or a WebSocket connection to our SDK.
+ * @param {HTMLElement} [parent] The element to attach the canvas onto.
* @returns {Promise}
*/
- async start(url, parent = document.body) {
+ async start(rrd, parent = document.body) {
+ if (this.#canvas || this.#handle) return this;
+
const canvas = document.createElement("canvas");
canvas.id = randomId();
parent.append(canvas);
let WebHandle_class = await load();
const handle = new WebHandle_class();
- await handle.start(canvas.id, url);
+ await handle.start(canvas.id, rrd);
if (handle.has_panicked()) {
throw new Error(`Web viewer crashed: ${handle.panic_message()}`);
}
@@ -51,6 +55,11 @@ export class WebViewer {
return this;
}
+ /**
+ * Stop the viewer, freeing all associated memory.
+ *
+ * The same viewer instance may be started multiple times.
+ */
stop() {
const canvas = this.#canvas;
this.#canvas = null;
diff --git a/rerun_js/web-viewer/package.json b/rerun_js/web-viewer/package.json
index c614cf1965d6..b74249021ff8 100644
--- a/rerun_js/web-viewer/package.json
+++ b/rerun_js/web-viewer/package.json
@@ -1,6 +1,6 @@
{
"name": "@rerun-io/web-viewer",
- "version": "0.0.8-alpha.2",
+ "version": "0.11.0",
"description": "Embed the Rerun web viewer in your app",
"private": false,
"scripts": {
diff --git a/rerun_js/web-viewer/react/README.md b/rerun_js/web-viewer/react/README.md
index 1f46f9e66fcc..d07f8c7c9468 100644
--- a/rerun_js/web-viewer/react/README.md
+++ b/rerun_js/web-viewer/react/README.md
@@ -12,6 +12,8 @@ Embed the Rerun web viewer within your React app.
+If you'd like to use a framework-agnostic package instead, see .
+
## Install
```
@@ -28,17 +30,19 @@ This means that `@rerun-io/web-viewer-react@0.10.0` can only connect to a data s
import WebViewer from "@rerun-io/web-viewer-react";
export default function App() {
- return (
-
-
-
- )
+ return
}
```
+The `rrd` in the snippet above should be a URL pointing to either:
+- A hosted `.rrd` file, such as
+- A WebSocket connection to the SDK opened via the [`serve`](https://www.rerun.io/docs/reference/sdk-operating-modes#serve) API
+
+If `rrd` is not set, the viewer will display the same welcome screen as .
+
βΉοΈ Note:
This package only targets recent versions of browsers.
-If your target browser does not support Wasm imports, you may need to install additional plugins for your bundler.
+If your target browser does not support Wasm imports or top-level await, you may need to install additional plugins for your bundler.
## Development
diff --git a/rerun_js/web-viewer/react/package.json b/rerun_js/web-viewer/react/package.json
index 4f026e6be98d..6aa5617144f6 100644
--- a/rerun_js/web-viewer/react/package.json
+++ b/rerun_js/web-viewer/react/package.json
@@ -1,10 +1,11 @@
{
"name": "@rerun-io/web-viewer-react",
- "version": "0.0.8-alpha.2",
+ "version": "0.11.0",
"description": "Embed the Rerun web viewer in your React app",
"private": false,
"scripts": {
"build:types": "dts-buddy",
+ "build": "npm run build:types",
"prepublishOnly": "dts-buddy"
},
"repository": {
@@ -31,7 +32,7 @@
"tsconfig.json"
],
"dependencies": {
- "@rerun-io/web-viewer": "0.0.8-alpha.2",
+ "@rerun-io/web-viewer": "0.11.0",
"@types/react": "^18.2.33",
"react": "^18.2.0"
},
diff --git a/rerun_js/web-viewer/scripts/common.mjs b/rerun_js/web-viewer/scripts/common.mjs
index ef25057db706..fdf430a45b00 100644
--- a/rerun_js/web-viewer/scripts/common.mjs
+++ b/rerun_js/web-viewer/scripts/common.mjs
@@ -45,5 +45,15 @@ export function stripSemverBuildMetadata(version) {
}
}
+/**
+ * Returns `true` if `package@version` is already published.
+ *
+ * @type {(packageName: string, version: string) => Promise}
+ */
+export async function isPublished(packageName, version) {
+ const response = await fetch(`https://registry.npmjs.org/${packageName}/${version}`);
+ return response.status === 200;
+}
+
export { path };
diff --git a/rerun_js/web-viewer/scripts/publish.mjs b/rerun_js/web-viewer/scripts/publish.mjs
index fe5c0c23a73d..ca0873bed9eb 100755
--- a/rerun_js/web-viewer/scripts/publish.mjs
+++ b/rerun_js/web-viewer/scripts/publish.mjs
@@ -1,12 +1,36 @@
#!/usr/bin/env node
-import { $, script_dir, path, argv, packages } from "./common.mjs";
+import { $, script_dir, path, argv, packages, isPublished } from "./common.mjs";
+import * as fs from "node:fs/promises";
-const args = argv.join(" ");
-const root_dir = path.resolve(script_dir, "..");
+/**
+ * @typedef {{
+ * name: string,
+ * version: string,
+ * }} PackageJson
+ */
-for (const pkg of packages) {
- const cwd = path.join(root_dir, pkg.path);
- $(`npm publish ${args}`, { cwd });
+async function main() {
+ const args = argv.join(" ");
+ const root_dir = path.resolve(script_dir, "..");
+
+ for (const pkg of packages) {
+ const cwd = path.join(root_dir, pkg.path);
+
+ /** @type {PackageJson} */
+ const packageJson = await fs
+ .readFile(path.join(cwd, "package.json"), "utf-8")
+ .then((s) => JSON.parse(s));
+
+ if (await isPublished(packageJson.name, packageJson.version)) {
+ continue;
+ }
+
+ $(`npm install`, { cwd });
+ $(`npm run build`, { cwd });
+ $(`npm publish ${args}`, { cwd });
+ }
}
+main();
+
diff --git a/rerun_js/web-viewer/scripts/version.mjs b/rerun_js/web-viewer/scripts/version.mjs
index 904e64639c16..b23cdfe6e7d6 100755
--- a/rerun_js/web-viewer/scripts/version.mjs
+++ b/rerun_js/web-viewer/scripts/version.mjs
@@ -25,7 +25,10 @@ if (!isSemver(version)) {
for (const pkg of packages) {
const package_json_path = path.join(root_dir, pkg.path, "package.json");
- const package_json = JSON.parse(fs.readFileSync(package_json_path));
+ const readme_path = path.join(root_dir, pkg.path, "README.md");
+
+ let package_json = JSON.parse(fs.readFileSync(package_json_path, "utf-8"));
+ let readme = fs.readFileSync(readme_path, "utf-8");
// update package version
package_json.version = version;
@@ -39,6 +42,13 @@ for (const pkg of packages) {
}
}
+ // update link to example rrd file in README
+ readme = readme.replace(
+ //,
+ ``
+ );
+
fs.writeFileSync(package_json_path, JSON.stringify(package_json, null, 2));
+ fs.writeFileSync(readme_path, readme);
}
diff --git a/scripts/generate_changelog.py b/scripts/generate_changelog.py
index 2afa7f12a8a7..f2651582c30a 100755
--- a/scripts/generate_changelog.py
+++ b/scripts/generate_changelog.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
"""
-Summarizes PRs since `latest` tag, grouping them based on their GitHub labels.
+Summarizes PRs since `latest` branch, grouping them based on their GitHub labels.
If the result is not satisfactory, you can edit the original PR titles and labels.
You can add the `exclude from changelog` label to minor PRs that are not of interest to our users.
@@ -35,6 +35,10 @@
]
+def eprint(*args, **kwargs) -> None: # type: ignore
+ print(*args, file=sys.stderr, **kwargs) # type: ignore
+
+
@dataclass
class PrInfo:
gh_user_name: str
@@ -66,7 +70,7 @@ def get_github_token() -> str:
except Exception:
pass
- print("ERROR: expected a GitHub token in the environment variable GH_ACCESS_TOKEN or in ~/.githubtoken")
+ eprint("ERROR: expected a GitHub token in the environment variable GH_ACCESS_TOKEN or in ~/.githubtoken")
sys.exit(1)
@@ -92,7 +96,7 @@ def fetch_pr_info(pr_number: int) -> PrInfo | None:
gh_user_name = json["user"]["login"]
return PrInfo(gh_user_name=gh_user_name, pr_title=json["title"], labels=labels)
else:
- print(f"ERROR {url}: {response.status_code} - {json['message']}")
+ eprint(f"ERROR {url}: {response.status_code} - {json['message']}")
return None
@@ -186,7 +190,7 @@ def main() -> None:
summary = f"{title} [#{pr_number}](https://github.com/{OWNER}/{REPO}/pull/{pr_number})"
if f"[#{pr_number}]" in previous_changelog:
- print(f"Ignoring dup: {summary}")
+ eprint(f"Ignoring dup: {summary}")
continue
chronological.append(f"{summary} {hexsha}")