class_docstr: Wandb class for 3D point clouds.
  
  Arguments:
      data_or_path: (numpy array, string, io)
          Object3D can be initialized from a file or a numpy array.
  
          You can pass a path to a file or an io object and a file_type
          which must be one of SUPPORTED_TYPES
  
  The shape of the numpy array must be one of either:
  ```
  [[x y z],       ...] nx3
  [[x y z c],     ...] nx4 where c is a category with supported range [1, 14]
  [[x y z r g b], ...] nx6 where is rgb is color
  ```
code: def to_json(
      self, run_or_artifact: Union["LocalRun", "Artifact"]
  ) -> dict:
      json_dict = super().to_json(run_or_artifact)
      json_dict["_type"] = Object3D._log_type
  
      if isinstance(run_or_artifact, wandb.Artifact):
          if self._path is None or not self._path.endswith(".pts.json"):
              raise ValueError(
                  "Non-point cloud 3D objects are not yet supported with Artifacts"
              )
  
      return json_dict
  
imports: import codecs
  import json
  import os
  import sys
  from typing import TYPE_CHECKING, ClassVar, Optional, Sequence, Set, TextIO, Tuple, Type, Union
  import wandb
  from wandb import util
  from wandb.sdk.lib import runid
  from wandb.sdk.lib.paths import LogicalPath
  from .None import _dtypes
  from ._private import MEDIA_TMP
  from .base_types.media import BatchableMedia
label_desc: Use image node_id 6 for calling the Object3D obj's underlying member method code with example usage: obj.to_json(run_or_artifact) and returns: json_dict