rerun-io / rerun

Visualize streams of multimodal data. Free, fast, easy to use, and simple to integrate. Built in Rust.
https://rerun.io/
Apache License 2.0
6.56k stars 334 forks source link

Document how to change visibility per entity basis in blueprint #7337

Open NickLaurenson-Visionick opened 2 months ago

NickLaurenson-Visionick commented 2 months ago

Is your feature request related to a problem? Please describe.

Currently it's not possible to set the visibility per entity in the python blueprint API. The current workaround is to use the per view content keyword to remove the data from the view.

Describe the solution you'd like

Maybe add a visibility keyword in the View API

Describe alternatives you've considered

Additional context

Mimic this functionnality from the UI: image

Wumpf commented 2 months ago

Associated discord thread https://discord.com/channels/1062300748202921994/1280068537666240584/1280068537666240584

Overrides of (individual) visibility is already possible, but slightly awkward and not documented:

import rerun as rr
import rerun.blueprint as rrb

rr.init(
    "rerun_example_visibility_via_blueprint",
    spawn=True,
    default_blueprint=rrb.Spatial3DView(
        overrides={"points": [rrb.components.Visible(False)]}
    ),
)
rr.log("points", rr.Points3D([[0, 0, 0], [1, 1, 1]]))

Should document this and make it a bit more approachable maybe

Note that this does not propagate recursively. Recusive visibility propagation is a special case in the viewer right now.