@qctrl/visualizer
Version:
The Q-CTRL Visualizer is a package for displaying animated 3d Bloch sphere visualizations.
122 lines (121 loc) • 2.86 kB
TypeScript
import { RecursivePartial } from "../types";
/**
* The main style object, generated in {@link VisualizerEntryPoint#style} and passed into/used by the three object generator functions. See source code for all keys/structure
*/
declare const styleDefaults: {
animation: {
fps: number;
};
fov: number;
lighting: {
pointLightIntensity: number;
};
scene: {
backgroundColor: string;
};
sphere: {
color: string;
outlineColor: string;
outlineOpacity: number;
opacity: number;
metalness: number;
roughness: number;
lineWidth: number;
radialOffset: number;
};
labels: {
color: string;
scale: number;
offset: number;
};
decoherence: {
color: string;
lineWidth: number;
dashSize: number;
gapSize: number;
};
sphereOutlineGeometry: {
scalar: number;
segments: number;
isPoint: boolean;
depth: boolean;
outlineOnly: boolean;
};
equatorialPlane: {
color: string;
gradientStops: string[];
opacity: number;
segments: number;
};
equatorialPlaneOutlineGeometry: {
outlineRadius: number;
outlineOpacity: number;
outlineColor: string;
};
axes: {
color: string;
cylinderRadius: number;
arrowRadius: number;
arrowHeight: number;
axesSegments: number;
};
coordinateArcs: {
phi: {
color: string;
gradientStops: string[];
};
theta: {
color: string;
gradientStops: string[];
};
opacity: number;
segments: number;
radius: number;
labelOffset: number;
};
indicatorStick: {
color: string;
opacity: number;
lineWidth: number;
};
indicatorOrb: {
color: string;
scale: number;
};
nonErrorStateOrb: {
color: string;
scale: number;
};
path: {
color: string;
lineWidth: number;
opacity: number;
geometrySegments: number;
};
pathCurrentSegment: {
lineWidth: number;
color: string;
};
};
export default styleDefaults;
interface CoordinateArcs {
phi: {
gradientStops?: string[];
};
theta: {
gradientStops?: string[];
};
}
interface EquatorialPlane {
gradientStops?: string[];
}
export type StyleDefaults = typeof styleDefaults;
export type Styles = StyleDefaults & {
equatorialPlane: EquatorialPlane;
coordinateArcs: CoordinateArcs;
};
export type PartialStyles = RecursivePartial<StyleDefaults> & Partial<{
equatorialPlane: EquatorialPlane;
coordinateArcs: Partial<CoordinateArcs>;
}>;
export { styleDefaults };