From 54386ce50344dc6c47bf8b37ebf84612b1b5933b Mon Sep 17 00:00:00 2001 From: Nikolaus West Date: Mon, 30 Oct 2023 09:14:33 -0700 Subject: [PATCH 1/7] Remove last "C++ coming soon" references --- README.md | 4 ++-- docs/content/index.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0383a55fbac9..60c9ae60d08f 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ # Build time aware visualizations of multimodal data -Use the Rerun SDK (available in Python, Rust, and soon C++) to log data like images, tensors, point clouds, and text. Logs are streamed to the Rerun Viewer for live visualization or to file for later use. +Use the Rerun SDK (available in Python, Rust, and C++) to log data like images, tensors, point clouds, and text. Logs are streamed to the Rerun Viewer for live visualization or to file for later use. ```py import rerun as rr # pip install rerun-sdk @@ -46,7 +46,7 @@ rr.log("path/to/points", rr.Points3D(positions, colors=colors)) ## Getting started * **Python**: `pip install rerun-sdk` or on [`conda`](https://github.com/conda-forge/rerun-sdk-feedstock) * **Rust**: `cargo add rerun` -* **C / C++**: [Coming soon](https://github.com/rerun-io/rerun/issues/2919) +* **C / C++**: [Guide](https://www.rerun.io/docs/getting-started/cpp) ### Rerun Viewer binary Both the Python and Rust library can start the Rerun Viewer, but to stream log data over the network or load our `.rrd` data files you also need the `rerun` binary. diff --git a/docs/content/index.md b/docs/content/index.md index 4e3142d596e8..f3078cd81b9b 100644 --- a/docs/content/index.md +++ b/docs/content/index.md @@ -12,7 +12,7 @@ Rerun is an SDK and engine for visualizing and interacting with multimodal data Rerun is - Simple to integrate and get started with -- Usable from Python, Rust, and soon C++ +- Usable from Python, Rust, and C++ - Powerful, flexible, and extensible - Built in Rust to be cross platform and fast - Open source, dual licensed under MIT and Apache 2 From 813610c4672a15d255b40b96414ee81015f45318 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 30 Oct 2023 17:18:29 +0100 Subject: [PATCH 2/7] C/C++ -> C++ --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 60c9ae60d08f..9bb958096088 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ rr.log("path/to/points", rr.Points3D(positions, colors=colors)) ## Getting started * **Python**: `pip install rerun-sdk` or on [`conda`](https://github.com/conda-forge/rerun-sdk-feedstock) * **Rust**: `cargo add rerun` -* **C / C++**: [Guide](https://www.rerun.io/docs/getting-started/cpp) +* **C++**: [Guide](https://www.rerun.io/docs/getting-started/cpp) ### Rerun Viewer binary Both the Python and Rust library can start the Rerun Viewer, but to stream log data over the network or load our `.rrd` data files you also need the `rerun` binary. From 3dec5082d4a781b23a410db633c3585d25602808 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 30 Oct 2023 18:43:22 +0100 Subject: [PATCH 3/7] Fix wrong link in CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5685be39605f..58e5f03a7bb0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ * Python: `pip install rerun-sdk` * Rust: `cargo add rerun` and `cargo install rerun-cli` -* Online demo: +* Online demo: ### Overview & Highlights * The C++ SDK is finally here! From faf47c5df4254540255409ea6d98f03b9815fea2 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 30 Oct 2023 18:47:49 +0100 Subject: [PATCH 4/7] Update some links --- docs/code-examples/roundtrips.py | 2 +- docs/content/howto/cpp-custom-component-batch-adapter.md | 3 +-- examples/cpp/minimal/README.md | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/code-examples/roundtrips.py b/docs/code-examples/roundtrips.py index ae49051e6dc0..79a663619ae6 100755 --- a/docs/code-examples/roundtrips.py +++ b/docs/code-examples/roundtrips.py @@ -21,7 +21,7 @@ # for one or more specific SDKs. opt_out_run = { "any_values": ["cpp", "rust"], # Not yet implemented - "custom_data": ["cpp"], # TODO(#2919): Not yet implemented in C++ + "custom_data": ["cpp"], # TODO(emilk): Not yet implemented in C++ "extra_values": ["cpp", "rust"], # Missing examples "image_advanced": ["cpp", "rust"], # Missing examples "log_line": ["cpp", "rust", "py"], # Not a complete example -- just a single log line diff --git a/docs/content/howto/cpp-custom-component-batch-adapter.md b/docs/content/howto/cpp-custom-component-batch-adapter.md index ffa01c10c02f..4c2e791d338b 100644 --- a/docs/content/howto/cpp-custom-component-batch-adapter.md +++ b/docs/content/howto/cpp-custom-component-batch-adapter.md @@ -1,6 +1,5 @@ --- title: C++ Custom Component Batch Adapter order: 7 -# TODO(#3962): update link -redirect: https://github.com/rerun-io/rerun/blob/6b2cf6dbf29124a10f2fc909e02f5fee7cbd0cbe/examples/cpp/custom_component_adapter/README.md +redirect: https://github.com/rerun-io/rerun/blob/latest/examples/cpp/custom_component_adapter/README.md --- diff --git a/examples/cpp/minimal/README.md b/examples/cpp/minimal/README.md index 673c637f68d1..e5455628a2fb 100644 --- a/examples/cpp/minimal/README.md +++ b/examples/cpp/minimal/README.md @@ -15,8 +15,7 @@ thumbnail: https://static.rerun.io/minimal/0e47ac513ab25d56cf2b493128097d499a07e The simplest example of how to use Rerun, showing how to log a point cloud. -# TODO(#3962): Update Link to C++ -This is part of the [Quick Start guide](https://www.rerun.io/docs/getting-started/rust). +This is part of the [Quick Start guide](https://www.rerun.io/docs/getting-started/cpp). To build it from a checkout of the repository (requires a Rust toolchain): ```bash From 7486a4acab44ebb3bf9e24b78d975b50b7016056 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 30 Oct 2023 18:50:44 +0100 Subject: [PATCH 5/7] Remove speculative-links and linkinator exemptions --- .github/workflows/documentation.yaml | 4 ++-- docs/content/getting-started/logging-cpp.md | 2 +- docs/content/getting-started/logging-rust.md | 2 +- docs/content/reference/sdk-operating-modes.md | 2 +- docs/content/reference/types/datatypes/uint32.md | 4 ++-- examples/cpp/README.md | 2 +- rerun_cpp/README.md | 2 +- rerun_cpp/src/rerun.hpp | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/documentation.yaml b/.github/workflows/documentation.yaml index 73d5e3575a39..ff98a8868852 100644 --- a/.github/workflows/documentation.yaml +++ b/.github/workflows/documentation.yaml @@ -34,8 +34,8 @@ jobs: paths: "**/*.c, **/*.cpp, **/*.fbs, **/*.h, **/*.hpp, **/*.js, **/*.md, **/*.py, **/*.rs, **/*.sh, **/*.toml, **/*.txt, **/*.wgsl, **/*.yml" # Avoid crates.io rate-limiting, skip changelog PR links (so many), and skip speculative links - # https://rerun-io.github.io/rerun/dev/bench/ often 404:s for unknown reasons - linksToSkip: "https://crates.io/crates/.*, https://github.com/rerun-io/rerun/pull/.*, .*?speculative-link, https://www.rerun.io/docs/getting-started/installing-viewer, https://www.rerun.io/docs/howto/arrow-cpp-install, https://rerun-io.github.io/rerun/dev/bench/" + # TODO(##4085): https://rerun-io.github.io/rerun/dev/bench/ often 404:s for unknown reasons + linksToSkip: "https://crates.io/crates/.*, https://github.com/rerun-io/rerun/pull/.*, .*?speculative-link, https://rerun-io.github.io/rerun/dev/bench/" retry: true retryErrors: true retryErrorsCount: 5 diff --git a/docs/content/getting-started/logging-cpp.md b/docs/content/getting-started/logging-cpp.md index 3c802d14046d..2a20ceb8f285 100644 --- a/docs/content/getting-started/logging-cpp.md +++ b/docs/content/getting-started/logging-cpp.md @@ -13,7 +13,7 @@ In a few lines of code, we'll go from a blank sheet to something you don't see e This guide aims to go wide instead of deep. There are links to other doc pages where you can learn more about specific topics. -At any time, you can checkout the complete code listing for this tutorial [here](https://github.com/rerun-io/rerun/tree/latest/examples/cpp/dna/main.cpp?speculative-link) to better keep track of the overall picture. +At any time, you can checkout the complete code listing for this tutorial [here](https://github.com/rerun-io/rerun/tree/latest/examples/cpp/dna/main.cpp) to better keep track of the overall picture. To build the example from the repository, run: ```bash diff --git a/docs/content/getting-started/logging-rust.md b/docs/content/getting-started/logging-rust.md index d4b5b538180d..c8eb045fd986 100644 --- a/docs/content/getting-started/logging-rust.md +++ b/docs/content/getting-started/logging-rust.md @@ -333,7 +333,7 @@ You can also save a recording (or a portion of it) as you're visualizing it, dir ### Spawning the Viewer from your process -If the Rerun Viewer is [installed](installing-viewer.md) and available in your `PATH`, you can use [`RecordingStream::spawn`](https://docs.rs/rerun/latest/rerun/struct.RecordingStream.html#method.spawn?speculative-link) to automatically start a viewer in a new process and connect to it over TCP. +If the Rerun Viewer is [installed](installing-viewer.md) and available in your `PATH`, you can use [`RecordingStream::spawn`](https://docs.rs/rerun/latest/rerun/struct.RecordingStream.html#method.spawn) to automatically start a viewer in a new process and connect to it over TCP. If an external viewer was already running, `spawn` will connect to that one instead of spawning a new one. ```rust diff --git a/docs/content/reference/sdk-operating-modes.md b/docs/content/reference/sdk-operating-modes.md index 570d03654fcc..e37a981fc4ad 100644 --- a/docs/content/reference/sdk-operating-modes.md +++ b/docs/content/reference/sdk-operating-modes.md @@ -24,7 +24,7 @@ Call [`rr.spawn`](https://ref.rerun.io/docs/python/stable/common/initialization_ #### Rust -[`RecordingStream::spawn`](https://docs.rs/rerun/latest/rerun/struct.RecordingStream.html#method.spawn?speculative-link) spawns a new Rerun Viewer process using an executable available in your PATH, then streams all the data to it via TCP. If an external viewer was already running, `spawn` will connect to that one instead of spawning a new one. +[`RecordingStream::spawn`](https://docs.rs/rerun/latest/rerun/struct.RecordingStream.html#method.spawn) spawns a new Rerun Viewer process using an executable available in your PATH, then streams all the data to it via TCP. If an external viewer was already running, `spawn` will connect to that one instead of spawning a new one. #### C++ diff --git a/docs/content/reference/types/datatypes/uint32.md b/docs/content/reference/types/datatypes/uint32.md index ae0546514d3a..29656ee2e286 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 - * 🐍 [Python API docs for `UInt32`](https://ref.rerun.io/docs/python/stable/common/datatypes?speculative-link#rerun.datatypes.UInt32) - * 🦀 [Rust API docs for `UInt32`](https://docs.rs/rerun/latest/rerun/datatypes/struct.UInt32.html?speculative-link) + * 🐍 [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/examples/cpp/README.md b/examples/cpp/README.md index 3c05967b881e..fe32b388a579 100644 --- a/examples/cpp/README.md +++ b/examples/cpp/README.md @@ -1,6 +1,6 @@ # Rerun C++ Examples The simplest example is [`minimal`](minimal/main.cpp). You may want to start there -using the accompanying [`C++ Quick Start`](https://www.rerun.io/docs/getting-started/cpp?speculative-link) guide. +using the accompanying [`C++ Quick Start`](https://www.rerun.io/docs/getting-started/cpp) guide. ## Build all examples The CMake target `examples` is a convenient alias for building all CMake examples in one go. diff --git a/rerun_cpp/README.md b/rerun_cpp/README.md index 0dedb8657384..4a10dac89c23 100644 --- a/rerun_cpp/README.md +++ b/rerun_cpp/README.md @@ -1,6 +1,6 @@ # Rerun C++ SDK -Read our [getting-started guide](https://www.rerun.io/docs/getting-started/cpp?speculative-link) for information on how to use the Rerun C++ SDK. +Read our [getting-started guide](https://www.rerun.io/docs/getting-started/cpp) for information on how to use the Rerun C++ SDK. ## Development ### Requirements diff --git a/rerun_cpp/src/rerun.hpp b/rerun_cpp/src/rerun.hpp index e5a313fc58d8..378e5b74107c 100644 --- a/rerun_cpp/src/rerun.hpp +++ b/rerun_cpp/src/rerun.hpp @@ -1,6 +1,6 @@ // The Rerun C++ SDK. // -// For more information, read our [getting-started guide](https://www.rerun.io/docs/getting-started/cpp?speculative-link) +// For more information, read our [getting-started guide](https://www.rerun.io/docs/getting-started/cpp) // or visit . #pragma once From 42ff2a9048de6e7acbcf9e0627d13d4decb84c70 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 30 Oct 2023 18:53:34 +0100 Subject: [PATCH 6/7] Add C++ code-snippet to changelog --- CHANGELOG.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 58e5f03a7bb0..4346dd7bb19b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,17 @@ ### Overview & Highlights * The C++ SDK is finally here! + ```cpp + #include + + int main() { + const auto rec = rerun::RecordingStream("rerun_example_points3d_simple"); + rec.spawn().exit_on_failure(); + + rec.log("points", rerun::Points3D({{0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}})); + } + ``` + * Add an integrated getting-started guide into the viewer splash screen * Add a new and improved `spawn` method in the Rust SDK * Add support for NV12-encoded images [#3541](https://github.com/rerun-io/rerun/pull/3541) (thanks [@zrezke](https://github.com/zrezke)!) From a05da824b65bd0dc06746f46b8e4dca78d8d1f7e Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 30 Oct 2023 19:05:06 +0100 Subject: [PATCH 7/7] Uin32 is no longer unreleased --- crates/re_types/definitions/rerun/datatypes/uint32.fbs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/crates/re_types/definitions/rerun/datatypes/uint32.fbs b/crates/re_types/definitions/rerun/datatypes/uint32.fbs index 4dc8d00ce9a8..a129265ff45c 100644 --- a/crates/re_types/definitions/rerun/datatypes/uint32.fbs +++ b/crates/re_types/definitions/rerun/datatypes/uint32.fbs @@ -11,8 +11,7 @@ struct UInt32 ( "attr.arrow.transparent", "attr.rust.derive": "Copy, PartialEq, Eq, PartialOrd, Ord", "attr.rust.override_crate": "re_types_core", - "attr.rust.tuple_struct", - "attr.docs.unreleased" + "attr.rust.tuple_struct" ) { value: uint32 (order: 100); }