molstar
Version:
A comprehensive macromolecular library.
512 lines • 85.3 kB
TypeScript
/**
* Copyright (c) 2023-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author David Sehnal <david.sehnal@gmail.com>
* @author Adam Midlik <midlik@gmail.com>
*/
import { OptionalField, RequiredField } from '../generic/field-schema';
import { SimpleParamsSchema, UnionParamsSchema } from '../generic/params-schema';
export declare const MVSPrimitiveParams: UnionParamsSchema<"kind", {
mesh: SimpleParamsSchema<{
/** 3*n_vertices length array of floats with vertex position (x1, y1, z1, ...). */
vertices: RequiredField<number[]>;
/** 3*n_triangles length array of indices into vertices that form triangles (t1_1, t1_2, t1_3, ...). */
indices: RequiredField<number[]>;
/** Assign a number to each triangle to group them. If not specified, each triangle is considered a separate group (triangle i = group i). */
triangle_groups: OptionalField<number[] | null>;
/** Assign a color to each group. Where not assigned, uses `color`. */
group_colors: OptionalField<{
[x: number]: "aliceblue" | "antiquewhite" | "aqua" | "aquamarine" | "azure" | "beige" | "bisque" | "black" | "blanchedalmond" | "blue" | "blueviolet" | "brown" | "burlywood" | "cadetblue" | "chartreuse" | "chocolate" | "coral" | "cornflowerblue" | "cornsilk" | "crimson" | "cyan" | "darkblue" | "darkcyan" | "darkgoldenrod" | "darkgray" | "darkgreen" | "darkgrey" | "darkkhaki" | "darkmagenta" | "darkolivegreen" | "darkorange" | "darkorchid" | "darkred" | "darksalmon" | "darkseagreen" | "darkslateblue" | "darkslategray" | "darkslategrey" | "darkturquoise" | "darkviolet" | "deeppink" | "deepskyblue" | "dimgray" | "dimgrey" | "dodgerblue" | "firebrick" | "floralwhite" | "forestgreen" | "fuchsia" | "gainsboro" | "ghostwhite" | "gold" | "goldenrod" | "gray" | "green" | "greenyellow" | "grey" | "honeydew" | "hotpink" | "indianred" | "indigo" | "ivory" | "khaki" | "lavender" | "lavenderblush" | "lawngreen" | "lemonchiffon" | "lightblue" | "lightcoral" | "lightcyan" | "lightgoldenrodyellow" | "lightgray" | "lightgreen" | "lightgrey" | "lightpink" | "lightsalmon" | "lightseagreen" | "lightskyblue" | "lightslategray" | "lightslategrey" | "lightsteelblue" | "lightyellow" | "lime" | "limegreen" | "linen" | "magenta" | "maroon" | "mediumaquamarine" | "mediumblue" | "mediumorchid" | "mediumpurple" | "mediumseagreen" | "mediumslateblue" | "mediumspringgreen" | "mediumturquoise" | "mediumvioletred" | "midnightblue" | "mintcream" | "mistyrose" | "moccasin" | "navajowhite" | "navy" | "oldlace" | "olive" | "olivedrab" | "orange" | "orangered" | "orchid" | "palegoldenrod" | "palegreen" | "paleturquoise" | "palevioletred" | "papayawhip" | "peachpuff" | "peru" | "pink" | "plum" | "powderblue" | "purple" | "rebeccapurple" | "red" | "rosybrown" | "royalblue" | "saddlebrown" | "salmon" | "sandybrown" | "seagreen" | "seashell" | "sienna" | "silver" | "skyblue" | "slateblue" | "slategray" | "slategrey" | "snow" | "springgreen" | "steelblue" | "tan" | "teal" | "thistle" | "tomato" | "turquoise" | "violet" | "wheat" | "white" | "whitesmoke" | "yellow" | "yellowgreen" | "cornflower" | "laserlemon" | "lightgoldenrod" | "maroon2" | "maroon3" | "purple2" | "purple3" | `#${string}`;
}>;
/** Assign a tooltip to each group. Where not assigned, uses `tooltip`. */
group_tooltips: OptionalField<{
[x: number]: string;
}>;
/** Color of the triangles and wireframe. Can be overwritten by `group_colors`. If not specified, uses the parent primitives group `color`. */
color: OptionalField<"aliceblue" | "antiquewhite" | "aqua" | "aquamarine" | "azure" | "beige" | "bisque" | "black" | "blanchedalmond" | "blue" | "blueviolet" | "brown" | "burlywood" | "cadetblue" | "chartreuse" | "chocolate" | "coral" | "cornflowerblue" | "cornsilk" | "crimson" | "cyan" | "darkblue" | "darkcyan" | "darkgoldenrod" | "darkgray" | "darkgreen" | "darkgrey" | "darkkhaki" | "darkmagenta" | "darkolivegreen" | "darkorange" | "darkorchid" | "darkred" | "darksalmon" | "darkseagreen" | "darkslateblue" | "darkslategray" | "darkslategrey" | "darkturquoise" | "darkviolet" | "deeppink" | "deepskyblue" | "dimgray" | "dimgrey" | "dodgerblue" | "firebrick" | "floralwhite" | "forestgreen" | "fuchsia" | "gainsboro" | "ghostwhite" | "gold" | "goldenrod" | "gray" | "green" | "greenyellow" | "grey" | "honeydew" | "hotpink" | "indianred" | "indigo" | "ivory" | "khaki" | "lavender" | "lavenderblush" | "lawngreen" | "lemonchiffon" | "lightblue" | "lightcoral" | "lightcyan" | "lightgoldenrodyellow" | "lightgray" | "lightgreen" | "lightgrey" | "lightpink" | "lightsalmon" | "lightseagreen" | "lightskyblue" | "lightslategray" | "lightslategrey" | "lightsteelblue" | "lightyellow" | "lime" | "limegreen" | "linen" | "magenta" | "maroon" | "mediumaquamarine" | "mediumblue" | "mediumorchid" | "mediumpurple" | "mediumseagreen" | "mediumslateblue" | "mediumspringgreen" | "mediumturquoise" | "mediumvioletred" | "midnightblue" | "mintcream" | "mistyrose" | "moccasin" | "navajowhite" | "navy" | "oldlace" | "olive" | "olivedrab" | "orange" | "orangered" | "orchid" | "palegoldenrod" | "palegreen" | "paleturquoise" | "palevioletred" | "papayawhip" | "peachpuff" | "peru" | "pink" | "plum" | "powderblue" | "purple" | "rebeccapurple" | "red" | "rosybrown" | "royalblue" | "saddlebrown" | "salmon" | "sandybrown" | "seagreen" | "seashell" | "sienna" | "silver" | "skyblue" | "slateblue" | "slategray" | "slategrey" | "snow" | "springgreen" | "steelblue" | "tan" | "teal" | "thistle" | "tomato" | "turquoise" | "violet" | "wheat" | "white" | "whitesmoke" | "yellow" | "yellowgreen" | "cornflower" | "laserlemon" | "lightgoldenrod" | "maroon2" | "maroon3" | "purple2" | "purple3" | `#${string}` | null>;
/** Tooltip shown when hovering over the mesh. Can be overwritten by `group_tooltips`. If not specified, uses the parent primitives group `tooltip`. */
tooltip: OptionalField<string | null>;
/** Determine whether to render triangles of the mesh. */
show_triangles: OptionalField<boolean>;
/** Determine whether to render wireframe of the mesh. */
show_wireframe: OptionalField<boolean>;
/** Wireframe line width (in screen-space units). */
wireframe_width: OptionalField<number>;
/** Wireframe color. If not specified, uses `group_colors`. */
wireframe_color: OptionalField<"aliceblue" | "antiquewhite" | "aqua" | "aquamarine" | "azure" | "beige" | "bisque" | "black" | "blanchedalmond" | "blue" | "blueviolet" | "brown" | "burlywood" | "cadetblue" | "chartreuse" | "chocolate" | "coral" | "cornflowerblue" | "cornsilk" | "crimson" | "cyan" | "darkblue" | "darkcyan" | "darkgoldenrod" | "darkgray" | "darkgreen" | "darkgrey" | "darkkhaki" | "darkmagenta" | "darkolivegreen" | "darkorange" | "darkorchid" | "darkred" | "darksalmon" | "darkseagreen" | "darkslateblue" | "darkslategray" | "darkslategrey" | "darkturquoise" | "darkviolet" | "deeppink" | "deepskyblue" | "dimgray" | "dimgrey" | "dodgerblue" | "firebrick" | "floralwhite" | "forestgreen" | "fuchsia" | "gainsboro" | "ghostwhite" | "gold" | "goldenrod" | "gray" | "green" | "greenyellow" | "grey" | "honeydew" | "hotpink" | "indianred" | "indigo" | "ivory" | "khaki" | "lavender" | "lavenderblush" | "lawngreen" | "lemonchiffon" | "lightblue" | "lightcoral" | "lightcyan" | "lightgoldenrodyellow" | "lightgray" | "lightgreen" | "lightgrey" | "lightpink" | "lightsalmon" | "lightseagreen" | "lightskyblue" | "lightslategray" | "lightslategrey" | "lightsteelblue" | "lightyellow" | "lime" | "limegreen" | "linen" | "magenta" | "maroon" | "mediumaquamarine" | "mediumblue" | "mediumorchid" | "mediumpurple" | "mediumseagreen" | "mediumslateblue" | "mediumspringgreen" | "mediumturquoise" | "mediumvioletred" | "midnightblue" | "mintcream" | "mistyrose" | "moccasin" | "navajowhite" | "navy" | "oldlace" | "olive" | "olivedrab" | "orange" | "orangered" | "orchid" | "palegoldenrod" | "palegreen" | "paleturquoise" | "palevioletred" | "papayawhip" | "peachpuff" | "peru" | "pink" | "plum" | "powderblue" | "purple" | "rebeccapurple" | "red" | "rosybrown" | "royalblue" | "saddlebrown" | "salmon" | "sandybrown" | "seagreen" | "seashell" | "sienna" | "silver" | "skyblue" | "slateblue" | "slategray" | "slategrey" | "snow" | "springgreen" | "steelblue" | "tan" | "teal" | "thistle" | "tomato" | "turquoise" | "violet" | "wheat" | "white" | "whitesmoke" | "yellow" | "yellowgreen" | "cornflower" | "laserlemon" | "lightgoldenrod" | "maroon2" | "maroon3" | "purple2" | "purple3" | `#${string}` | null>;
}>;
lines: SimpleParamsSchema<{
/** 3*n_vertices length array of floats with vertex position (x1, y1, z1, ...). */
vertices: RequiredField<number[]>;
/** 2*n_lines length array of indices into vertices that form lines (l1_1, l1_2, ...). */
indices: RequiredField<number[]>;
/** Assign a number to each triangle to group them. If not specified, each line is considered a separate group (line i = group i). */
line_groups: OptionalField<number[] | null>;
/** Assign a color to each group. Where not assigned, uses `color`. */
group_colors: OptionalField<{
[x: number]: "aliceblue" | "antiquewhite" | "aqua" | "aquamarine" | "azure" | "beige" | "bisque" | "black" | "blanchedalmond" | "blue" | "blueviolet" | "brown" | "burlywood" | "cadetblue" | "chartreuse" | "chocolate" | "coral" | "cornflowerblue" | "cornsilk" | "crimson" | "cyan" | "darkblue" | "darkcyan" | "darkgoldenrod" | "darkgray" | "darkgreen" | "darkgrey" | "darkkhaki" | "darkmagenta" | "darkolivegreen" | "darkorange" | "darkorchid" | "darkred" | "darksalmon" | "darkseagreen" | "darkslateblue" | "darkslategray" | "darkslategrey" | "darkturquoise" | "darkviolet" | "deeppink" | "deepskyblue" | "dimgray" | "dimgrey" | "dodgerblue" | "firebrick" | "floralwhite" | "forestgreen" | "fuchsia" | "gainsboro" | "ghostwhite" | "gold" | "goldenrod" | "gray" | "green" | "greenyellow" | "grey" | "honeydew" | "hotpink" | "indianred" | "indigo" | "ivory" | "khaki" | "lavender" | "lavenderblush" | "lawngreen" | "lemonchiffon" | "lightblue" | "lightcoral" | "lightcyan" | "lightgoldenrodyellow" | "lightgray" | "lightgreen" | "lightgrey" | "lightpink" | "lightsalmon" | "lightseagreen" | "lightskyblue" | "lightslategray" | "lightslategrey" | "lightsteelblue" | "lightyellow" | "lime" | "limegreen" | "linen" | "magenta" | "maroon" | "mediumaquamarine" | "mediumblue" | "mediumorchid" | "mediumpurple" | "mediumseagreen" | "mediumslateblue" | "mediumspringgreen" | "mediumturquoise" | "mediumvioletred" | "midnightblue" | "mintcream" | "mistyrose" | "moccasin" | "navajowhite" | "navy" | "oldlace" | "olive" | "olivedrab" | "orange" | "orangered" | "orchid" | "palegoldenrod" | "palegreen" | "paleturquoise" | "palevioletred" | "papayawhip" | "peachpuff" | "peru" | "pink" | "plum" | "powderblue" | "purple" | "rebeccapurple" | "red" | "rosybrown" | "royalblue" | "saddlebrown" | "salmon" | "sandybrown" | "seagreen" | "seashell" | "sienna" | "silver" | "skyblue" | "slateblue" | "slategray" | "slategrey" | "snow" | "springgreen" | "steelblue" | "tan" | "teal" | "thistle" | "tomato" | "turquoise" | "violet" | "wheat" | "white" | "whitesmoke" | "yellow" | "yellowgreen" | "cornflower" | "laserlemon" | "lightgoldenrod" | "maroon2" | "maroon3" | "purple2" | "purple3" | `#${string}`;
}>;
/** Assign a tooltip to each group. Where not assigned, uses `tooltip`. */
group_tooltips: OptionalField<{
[x: number]: string;
}>;
/** Assign a line width to each group. Where not assigned, uses `width`. */
group_widths: OptionalField<{
[x: number]: number;
}>;
/** Color of the lines. Can be overwritten by `group_colors`. If not specified, uses the parent primitives group `color`. */
color: OptionalField<"aliceblue" | "antiquewhite" | "aqua" | "aquamarine" | "azure" | "beige" | "bisque" | "black" | "blanchedalmond" | "blue" | "blueviolet" | "brown" | "burlywood" | "cadetblue" | "chartreuse" | "chocolate" | "coral" | "cornflowerblue" | "cornsilk" | "crimson" | "cyan" | "darkblue" | "darkcyan" | "darkgoldenrod" | "darkgray" | "darkgreen" | "darkgrey" | "darkkhaki" | "darkmagenta" | "darkolivegreen" | "darkorange" | "darkorchid" | "darkred" | "darksalmon" | "darkseagreen" | "darkslateblue" | "darkslategray" | "darkslategrey" | "darkturquoise" | "darkviolet" | "deeppink" | "deepskyblue" | "dimgray" | "dimgrey" | "dodgerblue" | "firebrick" | "floralwhite" | "forestgreen" | "fuchsia" | "gainsboro" | "ghostwhite" | "gold" | "goldenrod" | "gray" | "green" | "greenyellow" | "grey" | "honeydew" | "hotpink" | "indianred" | "indigo" | "ivory" | "khaki" | "lavender" | "lavenderblush" | "lawngreen" | "lemonchiffon" | "lightblue" | "lightcoral" | "lightcyan" | "lightgoldenrodyellow" | "lightgray" | "lightgreen" | "lightgrey" | "lightpink" | "lightsalmon" | "lightseagreen" | "lightskyblue" | "lightslategray" | "lightslategrey" | "lightsteelblue" | "lightyellow" | "lime" | "limegreen" | "linen" | "magenta" | "maroon" | "mediumaquamarine" | "mediumblue" | "mediumorchid" | "mediumpurple" | "mediumseagreen" | "mediumslateblue" | "mediumspringgreen" | "mediumturquoise" | "mediumvioletred" | "midnightblue" | "mintcream" | "mistyrose" | "moccasin" | "navajowhite" | "navy" | "oldlace" | "olive" | "olivedrab" | "orange" | "orangered" | "orchid" | "palegoldenrod" | "palegreen" | "paleturquoise" | "palevioletred" | "papayawhip" | "peachpuff" | "peru" | "pink" | "plum" | "powderblue" | "purple" | "rebeccapurple" | "red" | "rosybrown" | "royalblue" | "saddlebrown" | "salmon" | "sandybrown" | "seagreen" | "seashell" | "sienna" | "silver" | "skyblue" | "slateblue" | "slategray" | "slategrey" | "snow" | "springgreen" | "steelblue" | "tan" | "teal" | "thistle" | "tomato" | "turquoise" | "violet" | "wheat" | "white" | "whitesmoke" | "yellow" | "yellowgreen" | "cornflower" | "laserlemon" | "lightgoldenrod" | "maroon2" | "maroon3" | "purple2" | "purple3" | `#${string}` | null>;
/** Tooltip shown when hovering over the lines. Can be overwritten by `group_tooltips`. If not specified, uses the parent primitives group `tooltip`. */
tooltip: OptionalField<string | null>;
/** Line width (in screen-space units). Can be overwritten by `group_widths`. */
width: OptionalField<number>;
}>;
tube: SimpleParamsSchema<{
/** Tooltip to show when hovering over the tube. If not specified, uses the parent primitives group `tooltip`. */
tooltip: OptionalField<string | null>;
/** Start point of the tube. */
start: RequiredField<[number, number, number] | {
label_entity_id?: string | undefined;
label_asym_id?: string | undefined;
auth_asym_id?: string | undefined;
label_seq_id?: number | undefined;
auth_seq_id?: number | undefined;
pdbx_PDB_ins_code?: string | undefined;
beg_label_seq_id?: number | undefined;
end_label_seq_id?: number | undefined;
beg_auth_seq_id?: number | undefined;
end_auth_seq_id?: number | undefined;
label_comp_id?: string | undefined;
auth_comp_id?: string | undefined;
label_atom_id?: string | undefined;
auth_atom_id?: string | undefined;
type_symbol?: string | undefined;
atom_id?: number | undefined;
atom_index?: number | undefined;
} | {
structure_ref?: string | undefined;
expression_schema?: "atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic" | undefined;
expressions?: {
label_entity_id?: string | undefined;
label_asym_id?: string | undefined;
auth_asym_id?: string | undefined;
label_seq_id?: number | undefined;
auth_seq_id?: number | undefined;
pdbx_PDB_ins_code?: string | undefined;
beg_label_seq_id?: number | undefined;
end_label_seq_id?: number | undefined;
beg_auth_seq_id?: number | undefined;
end_auth_seq_id?: number | undefined;
label_comp_id?: string | undefined;
auth_comp_id?: string | undefined;
label_atom_id?: string | undefined;
auth_atom_id?: string | undefined;
type_symbol?: string | undefined;
atom_id?: number | undefined;
atom_index?: number | undefined;
}[] | undefined;
}>;
/** End point of the tube. */
end: RequiredField<[number, number, number] | {
label_entity_id?: string | undefined;
label_asym_id?: string | undefined;
auth_asym_id?: string | undefined;
label_seq_id?: number | undefined;
auth_seq_id?: number | undefined;
pdbx_PDB_ins_code?: string | undefined;
beg_label_seq_id?: number | undefined;
end_label_seq_id?: number | undefined;
beg_auth_seq_id?: number | undefined;
end_auth_seq_id?: number | undefined;
label_comp_id?: string | undefined;
auth_comp_id?: string | undefined;
label_atom_id?: string | undefined;
auth_atom_id?: string | undefined;
type_symbol?: string | undefined;
atom_id?: number | undefined;
atom_index?: number | undefined;
} | {
structure_ref?: string | undefined;
expression_schema?: "atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic" | undefined;
expressions?: {
label_entity_id?: string | undefined;
label_asym_id?: string | undefined;
auth_asym_id?: string | undefined;
label_seq_id?: number | undefined;
auth_seq_id?: number | undefined;
pdbx_PDB_ins_code?: string | undefined;
beg_label_seq_id?: number | undefined;
end_label_seq_id?: number | undefined;
beg_auth_seq_id?: number | undefined;
end_auth_seq_id?: number | undefined;
label_comp_id?: string | undefined;
auth_comp_id?: string | undefined;
label_atom_id?: string | undefined;
auth_atom_id?: string | undefined;
type_symbol?: string | undefined;
atom_id?: number | undefined;
atom_index?: number | undefined;
}[] | undefined;
}>;
/** Tube radius (in Angstroms). */
radius: OptionalField<number>;
/** Length of each dash and gap between dashes. If not specified (null), draw full line. */
dash_length: OptionalField<number | null>;
/** Color of the tube. If not specified, uses the parent primitives group `color`. */
color: OptionalField<"aliceblue" | "antiquewhite" | "aqua" | "aquamarine" | "azure" | "beige" | "bisque" | "black" | "blanchedalmond" | "blue" | "blueviolet" | "brown" | "burlywood" | "cadetblue" | "chartreuse" | "chocolate" | "coral" | "cornflowerblue" | "cornsilk" | "crimson" | "cyan" | "darkblue" | "darkcyan" | "darkgoldenrod" | "darkgray" | "darkgreen" | "darkgrey" | "darkkhaki" | "darkmagenta" | "darkolivegreen" | "darkorange" | "darkorchid" | "darkred" | "darksalmon" | "darkseagreen" | "darkslateblue" | "darkslategray" | "darkslategrey" | "darkturquoise" | "darkviolet" | "deeppink" | "deepskyblue" | "dimgray" | "dimgrey" | "dodgerblue" | "firebrick" | "floralwhite" | "forestgreen" | "fuchsia" | "gainsboro" | "ghostwhite" | "gold" | "goldenrod" | "gray" | "green" | "greenyellow" | "grey" | "honeydew" | "hotpink" | "indianred" | "indigo" | "ivory" | "khaki" | "lavender" | "lavenderblush" | "lawngreen" | "lemonchiffon" | "lightblue" | "lightcoral" | "lightcyan" | "lightgoldenrodyellow" | "lightgray" | "lightgreen" | "lightgrey" | "lightpink" | "lightsalmon" | "lightseagreen" | "lightskyblue" | "lightslategray" | "lightslategrey" | "lightsteelblue" | "lightyellow" | "lime" | "limegreen" | "linen" | "magenta" | "maroon" | "mediumaquamarine" | "mediumblue" | "mediumorchid" | "mediumpurple" | "mediumseagreen" | "mediumslateblue" | "mediumspringgreen" | "mediumturquoise" | "mediumvioletred" | "midnightblue" | "mintcream" | "mistyrose" | "moccasin" | "navajowhite" | "navy" | "oldlace" | "olive" | "olivedrab" | "orange" | "orangered" | "orchid" | "palegoldenrod" | "palegreen" | "paleturquoise" | "palevioletred" | "papayawhip" | "peachpuff" | "peru" | "pink" | "plum" | "powderblue" | "purple" | "rebeccapurple" | "red" | "rosybrown" | "royalblue" | "saddlebrown" | "salmon" | "sandybrown" | "seagreen" | "seashell" | "sienna" | "silver" | "skyblue" | "slateblue" | "slategray" | "slategrey" | "snow" | "springgreen" | "steelblue" | "tan" | "teal" | "thistle" | "tomato" | "turquoise" | "violet" | "wheat" | "white" | "whitesmoke" | "yellow" | "yellowgreen" | "cornflower" | "laserlemon" | "lightgoldenrod" | "maroon2" | "maroon3" | "purple2" | "purple3" | `#${string}` | null>;
}>;
arrow: SimpleParamsSchema<{
/** Start point of the tube. */
start: RequiredField<[number, number, number] | {
label_entity_id?: string | undefined;
label_asym_id?: string | undefined;
auth_asym_id?: string | undefined;
label_seq_id?: number | undefined;
auth_seq_id?: number | undefined;
pdbx_PDB_ins_code?: string | undefined;
beg_label_seq_id?: number | undefined;
end_label_seq_id?: number | undefined;
beg_auth_seq_id?: number | undefined;
end_auth_seq_id?: number | undefined;
label_comp_id?: string | undefined;
auth_comp_id?: string | undefined;
label_atom_id?: string | undefined;
auth_atom_id?: string | undefined;
type_symbol?: string | undefined;
atom_id?: number | undefined;
atom_index?: number | undefined;
} | {
structure_ref?: string | undefined;
expression_schema?: "atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic" | undefined;
expressions?: {
label_entity_id?: string | undefined;
label_asym_id?: string | undefined;
auth_asym_id?: string | undefined;
label_seq_id?: number | undefined;
auth_seq_id?: number | undefined;
pdbx_PDB_ins_code?: string | undefined;
beg_label_seq_id?: number | undefined;
end_label_seq_id?: number | undefined;
beg_auth_seq_id?: number | undefined;
end_auth_seq_id?: number | undefined;
label_comp_id?: string | undefined;
auth_comp_id?: string | undefined;
label_atom_id?: string | undefined;
auth_atom_id?: string | undefined;
type_symbol?: string | undefined;
atom_id?: number | undefined;
atom_index?: number | undefined;
}[] | undefined;
}>;
/** End point of the tube. */
end: OptionalField<[number, number, number] | {
label_entity_id?: string | undefined;
label_asym_id?: string | undefined;
auth_asym_id?: string | undefined;
label_seq_id?: number | undefined;
auth_seq_id?: number | undefined;
pdbx_PDB_ins_code?: string | undefined;
beg_label_seq_id?: number | undefined;
end_label_seq_id?: number | undefined;
beg_auth_seq_id?: number | undefined;
end_auth_seq_id?: number | undefined;
label_comp_id?: string | undefined;
auth_comp_id?: string | undefined;
label_atom_id?: string | undefined;
auth_atom_id?: string | undefined;
type_symbol?: string | undefined;
atom_id?: number | undefined;
atom_index?: number | undefined;
} | {
structure_ref?: string | undefined;
expression_schema?: "atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic" | undefined;
expressions?: {
label_entity_id?: string | undefined;
label_asym_id?: string | undefined;
auth_asym_id?: string | undefined;
label_seq_id?: number | undefined;
auth_seq_id?: number | undefined;
pdbx_PDB_ins_code?: string | undefined;
beg_label_seq_id?: number | undefined;
end_label_seq_id?: number | undefined;
beg_auth_seq_id?: number | undefined;
end_auth_seq_id?: number | undefined;
label_comp_id?: string | undefined;
auth_comp_id?: string | undefined;
label_atom_id?: string | undefined;
auth_atom_id?: string | undefined;
type_symbol?: string | undefined;
atom_id?: number | undefined;
atom_index?: number | undefined;
}[] | undefined;
} | null>;
/** If specified, the endpoint is computed as start + direction. */
direction: OptionalField<[number, number, number] | null>;
/** Length of the arrow. If unset, the distance between start and end is used. */
length: OptionalField<number | null>;
/** Draw a cap at the start of the arrow. */
show_start_cap: OptionalField<boolean>;
/** Length of the start cap. */
start_cap_length: OptionalField<number | null>;
/** Radius of the start cap. */
start_cap_radius: OptionalField<number | null>;
/** Draw an arrow at the end of the arrow. */
show_end_cap: OptionalField<boolean>;
/** Height of the arrow at the end. */
end_cap_length: OptionalField<number | null>;
/** Radius of the arrow at the end. */
end_cap_radius: OptionalField<number | null>;
/** Draw a tube connecting the start and end points. */
show_tube: OptionalField<boolean>;
/** Tube radius (in Angstroms). */
tube_radius: OptionalField<number>;
/** Length of each dash and gap between dashes. If not specified (null), draw full line. */
tube_dash_length: OptionalField<number | null>;
/** Color of the tube. If not specified, uses the parent primitives group `color`. */
color: OptionalField<"aliceblue" | "antiquewhite" | "aqua" | "aquamarine" | "azure" | "beige" | "bisque" | "black" | "blanchedalmond" | "blue" | "blueviolet" | "brown" | "burlywood" | "cadetblue" | "chartreuse" | "chocolate" | "coral" | "cornflowerblue" | "cornsilk" | "crimson" | "cyan" | "darkblue" | "darkcyan" | "darkgoldenrod" | "darkgray" | "darkgreen" | "darkgrey" | "darkkhaki" | "darkmagenta" | "darkolivegreen" | "darkorange" | "darkorchid" | "darkred" | "darksalmon" | "darkseagreen" | "darkslateblue" | "darkslategray" | "darkslategrey" | "darkturquoise" | "darkviolet" | "deeppink" | "deepskyblue" | "dimgray" | "dimgrey" | "dodgerblue" | "firebrick" | "floralwhite" | "forestgreen" | "fuchsia" | "gainsboro" | "ghostwhite" | "gold" | "goldenrod" | "gray" | "green" | "greenyellow" | "grey" | "honeydew" | "hotpink" | "indianred" | "indigo" | "ivory" | "khaki" | "lavender" | "lavenderblush" | "lawngreen" | "lemonchiffon" | "lightblue" | "lightcoral" | "lightcyan" | "lightgoldenrodyellow" | "lightgray" | "lightgreen" | "lightgrey" | "lightpink" | "lightsalmon" | "lightseagreen" | "lightskyblue" | "lightslategray" | "lightslategrey" | "lightsteelblue" | "lightyellow" | "lime" | "limegreen" | "linen" | "magenta" | "maroon" | "mediumaquamarine" | "mediumblue" | "mediumorchid" | "mediumpurple" | "mediumseagreen" | "mediumslateblue" | "mediumspringgreen" | "mediumturquoise" | "mediumvioletred" | "midnightblue" | "mintcream" | "mistyrose" | "moccasin" | "navajowhite" | "navy" | "oldlace" | "olive" | "olivedrab" | "orange" | "orangered" | "orchid" | "palegoldenrod" | "palegreen" | "paleturquoise" | "palevioletred" | "papayawhip" | "peachpuff" | "peru" | "pink" | "plum" | "powderblue" | "purple" | "rebeccapurple" | "red" | "rosybrown" | "royalblue" | "saddlebrown" | "salmon" | "sandybrown" | "seagreen" | "seashell" | "sienna" | "silver" | "skyblue" | "slateblue" | "slategray" | "slategrey" | "snow" | "springgreen" | "steelblue" | "tan" | "teal" | "thistle" | "tomato" | "turquoise" | "violet" | "wheat" | "white" | "whitesmoke" | "yellow" | "yellowgreen" | "cornflower" | "laserlemon" | "lightgoldenrod" | "maroon2" | "maroon3" | "purple2" | "purple3" | `#${string}` | null>;
/** Tooltip to show when hovering over the tube. If not specified, uses the parent primitives group `tooltip`. */
tooltip: OptionalField<string | null>;
}>;
distance_measurement: SimpleParamsSchema<{
/** Template used to construct the label. Use {{distance}} as placeholder for the distance. */
label_template: OptionalField<string>;
/** Size of the label (text height in Angstroms). If not specified, size will be relative to the distance (see label_auto_size_scale, label_auto_size_min). */
label_size: OptionalField<number | null>;
/** Scaling factor for relative size. */
label_auto_size_scale: OptionalField<number>;
/** Minimum size for relative size. */
label_auto_size_min: OptionalField<number>;
/** Color of the label. If not specified, uses the parent primitives group `label_color`. */
label_color: OptionalField<"aliceblue" | "antiquewhite" | "aqua" | "aquamarine" | "azure" | "beige" | "bisque" | "black" | "blanchedalmond" | "blue" | "blueviolet" | "brown" | "burlywood" | "cadetblue" | "chartreuse" | "chocolate" | "coral" | "cornflowerblue" | "cornsilk" | "crimson" | "cyan" | "darkblue" | "darkcyan" | "darkgoldenrod" | "darkgray" | "darkgreen" | "darkgrey" | "darkkhaki" | "darkmagenta" | "darkolivegreen" | "darkorange" | "darkorchid" | "darkred" | "darksalmon" | "darkseagreen" | "darkslateblue" | "darkslategray" | "darkslategrey" | "darkturquoise" | "darkviolet" | "deeppink" | "deepskyblue" | "dimgray" | "dimgrey" | "dodgerblue" | "firebrick" | "floralwhite" | "forestgreen" | "fuchsia" | "gainsboro" | "ghostwhite" | "gold" | "goldenrod" | "gray" | "green" | "greenyellow" | "grey" | "honeydew" | "hotpink" | "indianred" | "indigo" | "ivory" | "khaki" | "lavender" | "lavenderblush" | "lawngreen" | "lemonchiffon" | "lightblue" | "lightcoral" | "lightcyan" | "lightgoldenrodyellow" | "lightgray" | "lightgreen" | "lightgrey" | "lightpink" | "lightsalmon" | "lightseagreen" | "lightskyblue" | "lightslategray" | "lightslategrey" | "lightsteelblue" | "lightyellow" | "lime" | "limegreen" | "linen" | "magenta" | "maroon" | "mediumaquamarine" | "mediumblue" | "mediumorchid" | "mediumpurple" | "mediumseagreen" | "mediumslateblue" | "mediumspringgreen" | "mediumturquoise" | "mediumvioletred" | "midnightblue" | "mintcream" | "mistyrose" | "moccasin" | "navajowhite" | "navy" | "oldlace" | "olive" | "olivedrab" | "orange" | "orangered" | "orchid" | "palegoldenrod" | "palegreen" | "paleturquoise" | "palevioletred" | "papayawhip" | "peachpuff" | "peru" | "pink" | "plum" | "powderblue" | "purple" | "rebeccapurple" | "red" | "rosybrown" | "royalblue" | "saddlebrown" | "salmon" | "sandybrown" | "seagreen" | "seashell" | "sienna" | "silver" | "skyblue" | "slateblue" | "slategray" | "slategrey" | "snow" | "springgreen" | "steelblue" | "tan" | "teal" | "thistle" | "tomato" | "turquoise" | "violet" | "wheat" | "white" | "whitesmoke" | "yellow" | "yellowgreen" | "cornflower" | "laserlemon" | "lightgoldenrod" | "maroon2" | "maroon3" | "purple2" | "purple3" | `#${string}` | null>;
/** Start point of the tube. */
start: RequiredField<[number, number, number] | {
label_entity_id?: string | undefined;
label_asym_id?: string | undefined;
auth_asym_id?: string | undefined;
label_seq_id?: number | undefined;
auth_seq_id?: number | undefined;
pdbx_PDB_ins_code?: string | undefined;
beg_label_seq_id?: number | undefined;
end_label_seq_id?: number | undefined;
beg_auth_seq_id?: number | undefined;
end_auth_seq_id?: number | undefined;
label_comp_id?: string | undefined;
auth_comp_id?: string | undefined;
label_atom_id?: string | undefined;
auth_atom_id?: string | undefined;
type_symbol?: string | undefined;
atom_id?: number | undefined;
atom_index?: number | undefined;
} | {
structure_ref?: string | undefined;
expression_schema?: "atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic" | undefined;
expressions?: {
label_entity_id?: string | undefined;
label_asym_id?: string | undefined;
auth_asym_id?: string | undefined;
label_seq_id?: number | undefined;
auth_seq_id?: number | undefined;
pdbx_PDB_ins_code?: string | undefined;
beg_label_seq_id?: number | undefined;
end_label_seq_id?: number | undefined;
beg_auth_seq_id?: number | undefined;
end_auth_seq_id?: number | undefined;
label_comp_id?: string | undefined;
auth_comp_id?: string | undefined;
label_atom_id?: string | undefined;
auth_atom_id?: string | undefined;
type_symbol?: string | undefined;
atom_id?: number | undefined;
atom_index?: number | undefined;
}[] | undefined;
}>;
/** End point of the tube. */
end: RequiredField<[number, number, number] | {
label_entity_id?: string | undefined;
label_asym_id?: string | undefined;
auth_asym_id?: string | undefined;
label_seq_id?: number | undefined;
auth_seq_id?: number | undefined;
pdbx_PDB_ins_code?: string | undefined;
beg_label_seq_id?: number | undefined;
end_label_seq_id?: number | undefined;
beg_auth_seq_id?: number | undefined;
end_auth_seq_id?: number | undefined;
label_comp_id?: string | undefined;
auth_comp_id?: string | undefined;
label_atom_id?: string | undefined;
auth_atom_id?: string | undefined;
type_symbol?: string | undefined;
atom_id?: number | undefined;
atom_index?: number | undefined;
} | {
structure_ref?: string | undefined;
expression_schema?: "atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic" | undefined;
expressions?: {
label_entity_id?: string | undefined;
label_asym_id?: string | undefined;
auth_asym_id?: string | undefined;
label_seq_id?: number | undefined;
auth_seq_id?: number | undefined;
pdbx_PDB_ins_code?: string | undefined;
beg_label_seq_id?: number | undefined;
end_label_seq_id?: number | undefined;
beg_auth_seq_id?: number | undefined;
end_auth_seq_id?: number | undefined;
label_comp_id?: string | undefined;
auth_comp_id?: string | undefined;
label_atom_id?: string | undefined;
auth_atom_id?: string | undefined;
type_symbol?: string | undefined;
atom_id?: number | undefined;
atom_index?: number | undefined;
}[] | undefined;
}>;
/** Tube radius (in Angstroms). */
radius: OptionalField<number>;
/** Length of each dash and gap between dashes. If not specified (null), draw full line. */
dash_length: OptionalField<number | null>;
/** Color of the tube. If not specified, uses the parent primitives group `color`. */
color: OptionalField<"aliceblue" | "antiquewhite" | "aqua" | "aquamarine" | "azure" | "beige" | "bisque" | "black" | "blanchedalmond" | "blue" | "blueviolet" | "brown" | "burlywood" | "cadetblue" | "chartreuse" | "chocolate" | "coral" | "cornflowerblue" | "cornsilk" | "crimson" | "cyan" | "darkblue" | "darkcyan" | "darkgoldenrod" | "darkgray" | "darkgreen" | "darkgrey" | "darkkhaki" | "darkmagenta" | "darkolivegreen" | "darkorange" | "darkorchid" | "darkred" | "darksalmon" | "darkseagreen" | "darkslateblue" | "darkslategray" | "darkslategrey" | "darkturquoise" | "darkviolet" | "deeppink" | "deepskyblue" | "dimgray" | "dimgrey" | "dodgerblue" | "firebrick" | "floralwhite" | "forestgreen" | "fuchsia" | "gainsboro" | "ghostwhite" | "gold" | "goldenrod" | "gray" | "green" | "greenyellow" | "grey" | "honeydew" | "hotpink" | "indianred" | "indigo" | "ivory" | "khaki" | "lavender" | "lavenderblush" | "lawngreen" | "lemonchiffon" | "lightblue" | "lightcoral" | "lightcyan" | "lightgoldenrodyellow" | "lightgray" | "lightgreen" | "lightgrey" | "lightpink" | "lightsalmon" | "lightseagreen" | "lightskyblue" | "lightslategray" | "lightslategrey" | "lightsteelblue" | "lightyellow" | "lime" | "limegreen" | "linen" | "magenta" | "maroon" | "mediumaquamarine" | "mediumblue" | "mediumorchid" | "mediumpurple" | "mediumseagreen" | "mediumslateblue" | "mediumspringgreen" | "mediumturquoise" | "mediumvioletred" | "midnightblue" | "mintcream" | "mistyrose" | "moccasin" | "navajowhite" | "navy" | "oldlace" | "olive" | "olivedrab" | "orange" | "orangered" | "orchid" | "palegoldenrod" | "palegreen" | "paleturquoise" | "palevioletred" | "papayawhip" | "peachpuff" | "peru" | "pink" | "plum" | "powderblue" | "purple" | "rebeccapurple" | "red" | "rosybrown" | "royalblue" | "saddlebrown" | "salmon" | "sandybrown" | "seagreen" | "seashell" | "sienna" | "silver" | "skyblue" | "slateblue" | "slategray" | "slategrey" | "snow" | "springgreen" | "steelblue" | "tan" | "teal" | "thistle" | "tomato" | "turquoise" | "violet" | "wheat" | "white" | "whitesmoke" | "yellow" | "yellowgreen" | "cornflower" | "laserlemon" | "lightgoldenrod" | "maroon2" | "maroon3" | "purple2" | "purple3" | `#${string}` | null>;
}>;
angle_measurement: SimpleParamsSchema<{
/** Point A. */
a: RequiredField<[number, number, number] | {
label_entity_id?: string | undefined;
label_asym_id?: string | undefined;
auth_asym_id?: string | undefined;
label_seq_id?: number | undefined;
auth_seq_id?: number | undefined;
pdbx_PDB_ins_code?: string | undefined;
beg_label_seq_id?: number | undefined;
end_label_seq_id?: number | undefined;
beg_auth_seq_id?: number | undefined;
end_auth_seq_id?: number | undefined;
label_comp_id?: string | undefined;
auth_comp_id?: string | undefined;
label_atom_id?: string | undefined;
auth_atom_id?: string | undefined;
type_symbol?: string | undefined;
atom_id?: number | undefined;
atom_index?: number | undefined;
} | {
structure_ref?: string | undefined;
expression_schema?: "atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic" | undefined;
expressions?: {
label_entity_id?: string | undefined;
label_asym_id?: string | undefined;
auth_asym_id?: string | undefined;
label_seq_id?: number | undefined;
auth_seq_id?: number | undefined;
pdbx_PDB_ins_code?: string | undefined;
beg_label_seq_id?: number | undefined;
end_label_seq_id?: number | undefined;
beg_auth_seq_id?: number | undefined;
end_auth_seq_id?: number | undefined;
label_comp_id?: string | undefined;
auth_comp_id?: string | undefined;
label_atom_id?: string | undefined;
auth_atom_id?: string | undefined;
type_symbol?: string | undefined;
atom_id?: number | undefined;
atom_index?: number | undefined;
}[] | undefined;
}>;
/** Point B. */
b: RequiredField<[number, number, number] | {
label_entity_id?: string | undefined;
label_asym_id?: string | undefined;
auth_asym_id?: string | undefined;
label_seq_id?: number | undefined;
auth_seq_id?: number | undefined;
pdbx_PDB_ins_code?: string | undefined;
beg_label_seq_id?: number | undefined;
end_label_seq_id?: number | undefined;
beg_auth_seq_id?: number | undefined;
end_auth_seq_id?: number | undefined;
label_comp_id?: string | undefined;
auth_comp_id?: string | undefined;
label_atom_id?: string | undefined;
auth_atom_id?: string | undefined;
type_symbol?: string | undefined;
atom_id?: number | undefined;
atom_index?: number | undefined;
} | {
structure_ref?: string | undefined;
expression_schema?: "atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic" | undefined;
expressions?: {
label_entity_id?: string | undefined;
label_asym_id?: string | undefined;
auth_asym_id?: string | undefined;
label_seq_id?: number | undefined;
auth_seq_id?: number | undefined;
pdbx_PDB_ins_code?: string | undefined;
beg_label_seq_id?: number | undefined;
end_label_seq_id?: number | undefined;
beg_auth_seq_id?: number | undefined;
end_auth_seq_id?: number | undefined;
label_comp_id?: string | undefined;
auth_comp_id?: string | undefined;
label_atom_id?: string | undefined;
auth_atom_id?: string | undefined;
type_symbol?: string | undefined;
atom_id?: number | undefined;
atom_index?: number | undefined;
}[] | undefined;
}>;
/** Point C. */
c: RequiredField<[number, number, number] | {
label_entity_id?: string | undefined;
label_asym_id?: string | undefined;
auth_asym_id?: string | undefined;
label_seq_id?: number | undefined;
auth_seq_id?: number | undefined;
pdbx_PDB_ins_code?: string | undefined;
beg_label_seq_id?: number | undefined;
end_label_seq_id?: number | undefined;
beg_auth_seq_id?: number | undefined;
end_auth_seq_id?: number | undefined;
label_comp_id?: string | undefined;
auth_comp_id?: string | undefined;
label_atom_id?: string | undefined;
auth_atom_id?: string | undefined;
type_symbol?: string | undefined;
atom_id?: number | undefined;
atom_index?: number | undefined;
} | {
structure_ref?: string | undefined;
expression_schema?: "atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic" | undefined;
expressions?: {
label_entity_id?: string | undefined;
label_asym_id?: string | undefined;
auth_asym_id?: string | undefined;
label_seq_id?: number | undefined;
auth_seq_id?: number | undefined;
pdbx_PDB_ins_code?: string | undefined;
beg_label_seq_id?: number | undefined;
end_label_seq_id?: number | undefined;
beg_auth_seq_id?: number | undefined;
end_auth_seq_id?: number | undefined;
label_comp_id?: string | undefined;
auth_comp_id?: string | undefined;
label_atom_id?: string | undefined;
auth_atom_id?: string | undefined;
type_symbol?: string | undefined;
atom_id?: number | undefined;
atom_index?: number | undefined;
}[] | undefined;
}>;
/** Template used to construct the label. Use {{angle}} as placeholder for the angle in radians. */
label_template: OptionalField<string>;
/** Size of the label (text height in Angstroms). If not specified, size will be relative to the distance (see label_auto_size_scale, label_auto_size_min). */
label_size: OptionalField<number | null>;
/** Scaling factor for relative size. */
label_auto_size_scale: OptionalField<number>;
/** Minimum size for relative size. */
label_auto_size_min: OptionalField<number>;
/** Color of the label. If not specified, uses the parent primitives group `label_color`. */
label_color: OptionalField<"aliceblue" | "antiquewhite" | "aqua" | "aquamarine" | "azure" | "beige" | "bisque" | "black" | "blanchedalmond" | "blue" | "blueviolet" | "brown" | "burlywood" | "cadetblue" | "chartreuse" | "chocolate" | "coral" | "cornflowerblue" | "cornsilk" | "crimson" | "cyan" | "darkblue" | "darkcyan" | "darkgoldenrod" | "darkgray" | "darkgreen" | "darkgrey" | "darkkhaki" | "darkmagenta" | "darkolivegreen" | "darkorange" | "darkorchid" | "darkred" | "darksalmon" | "darkseagreen" | "darkslateblue" | "darkslategray" | "darkslategrey" | "darkturquoise" | "darkviolet" | "deeppink" | "deepskyblue" | "dimgray" | "dimgrey" | "dodgerblue" | "firebrick" | "floralwhite" | "forestgreen" | "fuchsia" | "gainsboro" | "ghostwhite" | "gold" | "goldenrod" | "gray" | "green" | "greenyellow" | "grey" | "honeydew" | "hotpink" | "indianred" | "indigo" | "ivory" | "khaki" | "lavender" | "lavenderblush" | "lawngreen" | "lemonchiffon" | "lightblue" | "lightcoral" | "lightcyan" | "lightgoldenrodyellow" | "lightgray" | "lightgreen" | "lightgrey" | "lightpink" | "lightsalmon" | "lightseagreen" | "lightskyblue" | "lightslategray" | "lightslategrey" | "lightsteelblue" | "lightyellow" | "lime" | "limegreen" | "linen" | "magenta" | "maroon" | "mediumaquamarine" | "mediumblue" | "mediumorchid" | "mediumpurple" | "mediumseagreen" | "mediumslateblue" | "mediumspringgreen" | "mediumturquoise" | "mediumvioletred" | "midnightblue" | "mintcream" | "mistyrose" | "moccasin" | "navajowhite" | "navy" | "oldlace" | "olive" | "olivedrab" | "orange" | "orangered" | "orchid" | "palegoldenrod" | "palegreen" | "paleturquoise" | "palevioletred" | "papayawhip" | "peachpuff" | "peru" | "pink" | "plum" | "powderblue" | "purple" | "rebeccapurple" | "red" | "rosybrown" | "royalblue" | "saddlebrown" | "salmon" | "sandybrown" | "seagreen" | "seashell" | "sienna" | "silver" | "skyblue" | "slateblue" | "slategray" | "slategrey" | "snow" | "springgreen" | "steelblue" | "tan" | "teal" | "thistle" | "tomato" | "turquoise" | "violet" | "wheat" | "white" | "whitesmoke" | "yellow" | "yellowgreen" | "cornflower" | "laserlemon" | "lightgoldenrod" | "maroon2" | "maroon3" | "purple2" | "purple3" | `#${string}` | null>;
/** Draw vectors between (a, b) and (b, c). */
show_vector: OptionalField<boolean>;
/** Color of the vectors. */
vector_color: OptionalField<"aliceblue" | "antiquewhite" | "aqua" | "aquamarine" | "azure" | "beige" | "bisque" | "black" | "blanchedalmond" | "blue" | "blueviolet" | "brown" | "burlywood" | "cadetblue" | "chartreuse" | "chocolate" | "coral" | "cornflowerblue" | "cornsilk" | "crimson" | "cyan" | "darkblue" | "darkcyan" | "darkgoldenrod" | "darkgray" | "darkgreen" | "darkgrey" | "darkkhaki" | "darkmagenta" | "darkolivegreen" | "darkorange" | "darkorchid" | "darkred" | "darksalmon" | "darkseagreen" | "darkslateblue" | "darkslategray" | "darkslategrey" | "darkturquoise" | "darkviolet" | "deeppink" | "deepskyblue" | "dimgray" | "dimgrey" | "dodgerblue" | "firebrick" | "floralwhite" | "forestgreen" | "fuchsia" | "gainsboro" | "ghostwhite" | "gold" | "goldenrod" | "gray" | "green" | "greenyellow" | "grey" | "honeydew" | "hotpink" | "indianred" | "indigo" | "ivory" | "khaki" | "lavender" | "lavenderblush" | "lawngreen" | "lemonchiffon" | "lightblue" | "lightcoral" | "lightcyan" | "lightgoldenrodyellow" | "lightgray" | "lightgreen" | "lightgrey" | "lightpink" | "lightsalmon" | "lightseagreen" | "lightskyblue" | "lightslategray" | "lightslategrey" | "lightsteelblue" | "lightyellow" | "lime" | "limegreen" | "linen" | "magenta" | "maroon" | "mediumaquamarine" | "mediumblue" | "mediumorchid" | "mediumpurple" | "m