---
title: "AnnotationContext"
---
<!-- DO NOT EDIT! This file was auto-generated by crates/build/re_types_builder/src/codegen/docs/website.rs -->

⚠️ **This type is _unstable_ and may change significantly in a way that the data won't be backwards compatible.**
The annotation context provides additional information on how to display entities.

Entities can use [`encodings.ClassId`](https://rerun.io/docs/reference/types/encodings/class_id)s and [`encodings.KeypointId`](https://rerun.io/docs/reference/types/encodings/keypoint_id)s to provide annotations, and
the labels and colors will be looked up in the appropriate
annotation context. We use the *first* annotation context we find in the
path-hierarchy when searching up through the ancestors of a given entity
path.


## Arrow datatype
```
List(non-null Struct(
        "class_id": non-null UInt16
        "class_description": non-null Struct(
            "info": non-null Struct(
                "id": non-null UInt16
                "label": Utf8
                "color": UInt32
            )
            "keypoint_annotations": non-null List(non-null Struct(
                    "id": non-null UInt16
                    "label": Utf8
                    "color": UInt32
                ))
            "keypoint_connections": non-null List(non-null Struct(
                    "keypoint0": non-null UInt16
                    "keypoint1": non-null UInt16
                ))
        )
    ))
```

## API reference links
 * 🌊 [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)


## Used by

* [`AnnotationContext`](https://rerun.io/docs/reference/types/archetypes/annotation_context.md)
