// @generated by protoc-gen-es v1.10.0 with parameter "target=ts,import_extension=none"
// @generated from file draw/v1/metadata.proto (package draw.v1, syntax proto3)
/* eslint-disable */
// @ts-nocheck
import { Message, proto3 } from "@bufbuild/protobuf";
/**
 * ColorFormat describes the encoding of the colors bytes field.
 *
 * @generated from enum draw.v1.ColorFormat
 */
export var ColorFormat;
(function (ColorFormat) {
    /**
     * @generated from enum value: COLOR_FORMAT_UNSPECIFIED = 0;
     */
    ColorFormat[ColorFormat["UNSPECIFIED"] = 0] = "UNSPECIFIED";
    /**
     * @generated from enum value: COLOR_FORMAT_RGB = 1;
     */
    ColorFormat[ColorFormat["RGB"] = 1] = "RGB";
})(ColorFormat || (ColorFormat = {}));
// Retrieve enum metadata with: proto3.getEnumType(ColorFormat)
proto3.util.setEnumType(ColorFormat, "draw.v1.ColorFormat", [
    { no: 0, name: "COLOR_FORMAT_UNSPECIFIED" },
    { no: 1, name: "COLOR_FORMAT_RGB" },
]);
/**
 * Chunks describes how a large entity is chunked for progressive delivery.
 *
 * @generated from message draw.v1.Chunks
 */
export class Chunks extends Message {
    /**
     * The number of elements per chunk.
     *
     * @generated from field: uint32 chunk_size = 1;
     */
    chunkSize = 0;
    /**
     * The total number of elements across all chunks.
     *
     * @generated from field: uint32 total = 2;
     */
    total = 0;
    /**
     * The number of bytes per element (e.g. 12 for float32 xyz positions).
     *
     * @generated from field: uint32 stride = 3;
     */
    stride = 0;
    constructor(data) {
        super();
        proto3.util.initPartial(data, this);
    }
    static runtime = proto3;
    static typeName = "draw.v1.Chunks";
    static fields = proto3.util.newFieldList(() => [
        { no: 1, name: "chunk_size", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
        { no: 2, name: "total", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
        { no: 3, name: "stride", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
    ]);
    static fromBinary(bytes, options) {
        return new Chunks().fromBinary(bytes, options);
    }
    static fromJson(jsonValue, options) {
        return new Chunks().fromJson(jsonValue, options);
    }
    static fromJsonString(jsonString, options) {
        return new Chunks().fromJsonString(jsonString, options);
    }
    static equals(a, b) {
        return proto3.util.equals(Chunks, a, b);
    }
}
/**
 * A directed link from a source entity to a target entity.
 *
 * @generated from message draw.v1.Relationship
 */
export class Relationship extends Message {
    /**
     * UUID of the target entity this relationship points to.
     *
     * @generated from field: bytes target_uuid = 1;
     */
    targetUuid = new Uint8Array(0);
    /**
     * Free-form link type (e.g. "HoverLink"). Clients decide how to interpret.
     *
     * @generated from field: string type = 2;
     */
    type = "";
    /**
     * Optional filtrex expression (variable: `index`). Defaults to "index".
     *
     * @generated from field: optional string index_mapping = 3;
     */
    indexMapping;
    constructor(data) {
        super();
        proto3.util.initPartial(data, this);
    }
    static runtime = proto3;
    static typeName = "draw.v1.Relationship";
    static fields = proto3.util.newFieldList(() => [
        { no: 1, name: "target_uuid", kind: "scalar", T: 12 /* ScalarType.BYTES */ },
        { no: 2, name: "type", kind: "scalar", T: 9 /* ScalarType.STRING */ },
        { no: 3, name: "index_mapping", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
    ]);
    static fromBinary(bytes, options) {
        return new Relationship().fromBinary(bytes, options);
    }
    static fromJson(jsonValue, options) {
        return new Relationship().fromJson(jsonValue, options);
    }
    static fromJsonString(jsonString, options) {
        return new Relationship().fromJsonString(jsonString, options);
    }
    static equals(a, b) {
        return proto3.util.equals(Relationship, a, b);
    }
}
/**
 * @generated from message draw.v1.Metadata
 */
export class Metadata extends Message {
    /**
     * Uint8Array of color values (0-255) based on the color format.
     * Can be a single set of values for a uniform color, or an array of values for per-vertex colors.
     *
     * @generated from field: optional bytes colors = 1;
     */
    colors;
    /**
     * Describes the encoding of the colors field. Defaults to COLOR_FORMAT_RGB when set by this API.
     *
     * @generated from field: draw.v1.ColorFormat color_format = 2;
     */
    colorFormat = ColorFormat.UNSPECIFIED;
    /**
     * Uint8Array of opacity values (0-255) corresponding to colors.
     * Can be a single set of values for a uniform opacity, or an array of values for per-vertex opacity.
     *
     * @generated from field: optional bytes opacities = 3;
     */
    opacities;
    /**
     * Whether to show the axes helper (RGB XYZ indicator) on the entity.
     * Defaults to false.
     *
     * @generated from field: optional bool show_axes_helper = 4;
     */
    showAxesHelper;
    /**
     * Whether the entity is invisible (not rendered) by default.
     * Defaults to false.
     *
     * @generated from field: optional bool invisible = 5;
     */
    invisible;
    /**
     * When present, indicates this drawing uses chunked delivery.
     *
     * @generated from field: optional draw.v1.Chunks chunks = 6;
     */
    chunks;
    /**
     * Directed relationships from this entity to other entities.
     *
     * @generated from field: repeated draw.v1.Relationship relationships = 7;
     */
    relationships = [];
    constructor(data) {
        super();
        proto3.util.initPartial(data, this);
    }
    static runtime = proto3;
    static typeName = "draw.v1.Metadata";
    static fields = proto3.util.newFieldList(() => [
        { no: 1, name: "colors", kind: "scalar", T: 12 /* ScalarType.BYTES */, opt: true },
        { no: 2, name: "color_format", kind: "enum", T: proto3.getEnumType(ColorFormat) },
        { no: 3, name: "opacities", kind: "scalar", T: 12 /* ScalarType.BYTES */, opt: true },
        { no: 4, name: "show_axes_helper", kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true },
        { no: 5, name: "invisible", kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true },
        { no: 6, name: "chunks", kind: "message", T: Chunks, opt: true },
        { no: 7, name: "relationships", kind: "message", T: Relationship, repeated: true },
    ]);
    static fromBinary(bytes, options) {
        return new Metadata().fromBinary(bytes, options);
    }
    static fromJson(jsonValue, options) {
        return new Metadata().fromJson(jsonValue, options);
    }
    static fromJsonString(jsonString, options) {
        return new Metadata().fromJsonString(jsonString, options);
    }
    static equals(a, b) {
        return proto3.util.equals(Metadata, a, b);
    }
}
