manim-web 0.19.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/audio/AudioAnalyzer.d.ts +132 -0
- package/dist/audio/AudioAnalyzer.d.ts.map +1 -0
- package/dist/core/AudioManager.d.ts +8 -0
- package/dist/core/AudioManager.d.ts.map +1 -1
- package/dist/export/SvgExporter.d.ts +104 -0
- package/dist/export/SvgExporter.d.ts.map +1 -0
- package/dist/export/index.d.ts +1 -0
- package/dist/export/index.d.ts.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/integrations/react.js +17 -17
- package/dist/integrations/vue.js +16 -16
- package/dist/manim-web.browser.js +2057 -1662
- package/dist/mobjects/graphing/PieChart.d.ts +180 -0
- package/dist/mobjects/graphing/PieChart.d.ts.map +1 -0
- package/dist/mobjects/graphing/index.d.ts +1 -0
- package/dist/mobjects/graphing/index.d.ts.map +1 -1
- package/dist/{src-B3jkHw_D.js → src-jWauXqbN.js} +2039 -1644
- package/package.json +1 -1
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { VGroup } from '../../core/VGroup';
|
|
2
|
+
import { VMobject } from '../../core/VMobject';
|
|
3
|
+
/**
|
|
4
|
+
* Geometry of one slice, derived from the data.
|
|
5
|
+
* Non-positive values are skipped, so `index` is the position in the
|
|
6
|
+
* original `values` array and is not always contiguous.
|
|
7
|
+
*/
|
|
8
|
+
export interface SliceGeometry {
|
|
9
|
+
/** Index of this value in the original `values` array. */
|
|
10
|
+
index: number;
|
|
11
|
+
/** The (positive) data value for this slice. */
|
|
12
|
+
value: number;
|
|
13
|
+
/** Fraction of the total this slice occupies, in [0, 1]. */
|
|
14
|
+
fraction: number;
|
|
15
|
+
/** Start angle of the slice sweep, in radians. */
|
|
16
|
+
startAngle: number;
|
|
17
|
+
/** Sweep angle of the slice, in radians (proportional to the value). */
|
|
18
|
+
angle: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Compute the sweep angles for a set of values.
|
|
22
|
+
*
|
|
23
|
+
* Each positive value gets a sweep angle proportional to `value / total`.
|
|
24
|
+
* Non-positive values (zero and negative) are skipped and get no slice.
|
|
25
|
+
* The returned slices sweep counterclockwise from `startAngle`, in the order
|
|
26
|
+
* of the input array.
|
|
27
|
+
*
|
|
28
|
+
* @param values - The raw data values.
|
|
29
|
+
* @param startAngle - Angle of the first slice edge, in radians.
|
|
30
|
+
* @returns One SliceGeometry per positive value. Empty array if the total is 0.
|
|
31
|
+
*/
|
|
32
|
+
export declare function computeSliceGeometry(values: number[], startAngle: number): SliceGeometry[];
|
|
33
|
+
/** How slice labels are placed relative to the slice. */
|
|
34
|
+
export type LabelPosition = 'inside' | 'outside';
|
|
35
|
+
/**
|
|
36
|
+
* Options shared by PieChart and DonutChart.
|
|
37
|
+
*/
|
|
38
|
+
export interface PieChartOptions {
|
|
39
|
+
/** Data values. One slice per positive value. Default: required. */
|
|
40
|
+
values: number[];
|
|
41
|
+
/** Text label for each value (by original index). Default: []. */
|
|
42
|
+
labels?: string[];
|
|
43
|
+
/** Slice colors. Single color applies to all, array cycles. Default: Manim palette. */
|
|
44
|
+
colors?: string | string[];
|
|
45
|
+
/** Angle of the first slice edge, in radians. Default: Math.PI / 2 (12 o'clock). */
|
|
46
|
+
startAngle?: number;
|
|
47
|
+
/** Outer radius of the chart. Default: 2. */
|
|
48
|
+
radius?: number;
|
|
49
|
+
/** Fill opacity of the slices. Default: 0.8. */
|
|
50
|
+
fillOpacity?: number;
|
|
51
|
+
/** Stroke color drawn between slices. Default: WHITE. */
|
|
52
|
+
strokeColor?: string;
|
|
53
|
+
/** Stroke width drawn between slices. Default: 2. */
|
|
54
|
+
strokeWidth?: number;
|
|
55
|
+
/** Whether to draw text labels on the slices. Default: true when labels are given. */
|
|
56
|
+
showLabels?: boolean;
|
|
57
|
+
/** Whether to append the percentage to each label. Default: false. */
|
|
58
|
+
showPercentages?: boolean;
|
|
59
|
+
/** Font size for slice labels. Default: 24. */
|
|
60
|
+
labelFontSize?: number;
|
|
61
|
+
/** Place labels 'inside' the slices or 'outside' the rim. Default: 'outside'. */
|
|
62
|
+
labelPosition?: LabelPosition;
|
|
63
|
+
/** Whether to draw a legend of label swatches. Default: false. */
|
|
64
|
+
showLegend?: boolean;
|
|
65
|
+
/** Font size for legend labels. Default: 18. */
|
|
66
|
+
legendFontSize?: number;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* PieChart - a data-to-pie visualization mobject.
|
|
70
|
+
*
|
|
71
|
+
* Builds a VGroup of {@link Sector}s whose sweep angles are proportional to
|
|
72
|
+
* each value divided by the total. Non-positive values are skipped, a single
|
|
73
|
+
* value fills the whole circle, and empty data yields an empty group.
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
77
|
+
* const pie = new PieChart({
|
|
78
|
+
* values: [30, 20, 50],
|
|
79
|
+
* labels: ['A', 'B', 'C'],
|
|
80
|
+
* showPercentages: true,
|
|
81
|
+
* });
|
|
82
|
+
* pie.getSlice(0); // the first Sector
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export declare class PieChart extends VGroup {
|
|
86
|
+
/** The slice sectors. */
|
|
87
|
+
slices: VGroup;
|
|
88
|
+
/** The slice labels. */
|
|
89
|
+
labelGroup: VGroup;
|
|
90
|
+
/** The legend, when enabled. */
|
|
91
|
+
legend: VGroup | null;
|
|
92
|
+
protected _values: number[];
|
|
93
|
+
protected _labelTexts: string[];
|
|
94
|
+
protected _colors: string[];
|
|
95
|
+
protected _startAngle: number;
|
|
96
|
+
protected _radius: number;
|
|
97
|
+
protected _fillOpacity: number;
|
|
98
|
+
protected _strokeColor: string;
|
|
99
|
+
protected _strokeWidth: number;
|
|
100
|
+
protected _showLabels: boolean;
|
|
101
|
+
protected _showPercentages: boolean;
|
|
102
|
+
protected _labelFontSize: number;
|
|
103
|
+
protected _labelPosition: LabelPosition;
|
|
104
|
+
protected _showLegend: boolean;
|
|
105
|
+
protected _legendFontSize: number;
|
|
106
|
+
protected _geometry: SliceGeometry[];
|
|
107
|
+
constructor(options: PieChartOptions);
|
|
108
|
+
/**
|
|
109
|
+
* Create one slice mobject. Overridden by DonutChart to use AnnularSector.
|
|
110
|
+
* @param geom - The slice geometry.
|
|
111
|
+
* @param color - The slice fill color.
|
|
112
|
+
* @returns A Sector sweeping the slice.
|
|
113
|
+
*/
|
|
114
|
+
protected _makeSlice(geom: SliceGeometry, color: string): VMobject;
|
|
115
|
+
/** Color for the slice at the given original value index. */
|
|
116
|
+
protected _colorForIndex(index: number): string;
|
|
117
|
+
/** Build all slice sectors into `this.slices`. */
|
|
118
|
+
protected _buildSlices(): void;
|
|
119
|
+
/** Radius at which to place a label for the given position mode. */
|
|
120
|
+
protected _labelRadius(): number;
|
|
121
|
+
/** Build the slice labels into `this.labelGroup`. */
|
|
122
|
+
protected _buildLabels(): void;
|
|
123
|
+
/** Compose the label text for a slice (name and/or percentage). */
|
|
124
|
+
protected _labelText(geom: SliceGeometry): string;
|
|
125
|
+
/** Build the legend into a new VGroup. */
|
|
126
|
+
protected _buildLegend(): VGroup;
|
|
127
|
+
/** Get all slice sectors. */
|
|
128
|
+
getSectors(): VMobject[];
|
|
129
|
+
/**
|
|
130
|
+
* Get a single slice sector by position.
|
|
131
|
+
* @param index - Position in the slice list (not the original value index).
|
|
132
|
+
* @returns The sector, or undefined when out of range.
|
|
133
|
+
*/
|
|
134
|
+
getSlice(index: number): VMobject | undefined;
|
|
135
|
+
/** Get the slice geometry (angles and fractions) for all slices. */
|
|
136
|
+
getSliceGeometry(): SliceGeometry[];
|
|
137
|
+
/** Get the original data values. */
|
|
138
|
+
getValues(): number[];
|
|
139
|
+
/** Get the outer radius. */
|
|
140
|
+
getRadius(): number;
|
|
141
|
+
copy(): PieChart;
|
|
142
|
+
/** Options bundle used to reconstruct this chart in copy(). */
|
|
143
|
+
protected _optionsForCopy(): PieChartOptions;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Options for DonutChart. Adds the hole radius to {@link PieChartOptions}.
|
|
147
|
+
*/
|
|
148
|
+
export interface DonutChartOptions extends PieChartOptions {
|
|
149
|
+
/**
|
|
150
|
+
* Hole radius as a fraction of the outer radius, in [0, 1).
|
|
151
|
+
* Default: 0.5. A value of 0 makes a full pie.
|
|
152
|
+
*/
|
|
153
|
+
innerRadius?: number;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* DonutChart - a PieChart with a hole in the middle.
|
|
157
|
+
*
|
|
158
|
+
* Builds a VGroup of {@link AnnularSector}s. The slice-angle logic is shared
|
|
159
|
+
* with {@link PieChart}; only the slice shape differs. `innerRadius` is a
|
|
160
|
+
* fraction of the outer radius, in [0, 1).
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```typescript
|
|
164
|
+
* const donut = new DonutChart({ values: [1, 2, 3], innerRadius: 0.5 });
|
|
165
|
+
* ```
|
|
166
|
+
*/
|
|
167
|
+
export declare class DonutChart extends PieChart {
|
|
168
|
+
protected _innerRadiusFraction: number;
|
|
169
|
+
constructor(options: DonutChartOptions);
|
|
170
|
+
private static _clampFraction;
|
|
171
|
+
/** Absolute inner (hole) radius in scene units. */
|
|
172
|
+
getInnerRadius(): number;
|
|
173
|
+
/** Inner radius as a fraction of the outer radius. */
|
|
174
|
+
getInnerRadiusFraction(): number;
|
|
175
|
+
/** Replace the pie sectors built by the base constructor with annular sectors. */
|
|
176
|
+
private _rebuildSlicesAsDonut;
|
|
177
|
+
protected _makeSlice(geom: SliceGeometry, color: string): VMobject;
|
|
178
|
+
copy(): DonutChart;
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=PieChart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PieChart.d.ts","sourceRoot":"","sources":["../../../src/mobjects/graphing/PieChart.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,5 +21,6 @@ export { VectorFieldVector, type VectorFieldVectorOptions } from './Vector';
|
|
|
21
21
|
export { ComplexPlane, type ComplexPlaneOptions, type Complex } from './ComplexPlane';
|
|
22
22
|
export { PolarPlane, type PolarPlaneOptions } from './ComplexPlane';
|
|
23
23
|
export { BarChart, type BarChartOptions } from './BarChart';
|
|
24
|
+
export { PieChart, type PieChartOptions, DonutChart, type DonutChartOptions, computeSliceGeometry, type SliceGeometry, type LabelPosition, } from './PieChart';
|
|
24
25
|
export { VectorField, ArrowVectorField, StreamLines, stepVectorField, type Integrator, type VectorFunction, type ColorFunction, type VectorFieldBaseOptions, type ArrowVectorFieldOptions, type StreamLinesOptions, type ContinuousMotionOptions, } from './VectorField';
|
|
25
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mobjects/graphing/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,UAAU,EACV,KAAK,iBAAiB,EACtB,YAAY,EACZ,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGhD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAGtF,OAAO,EAAE,KAAK,2BAA2B,EAAE,KAAK,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAGjG,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAG/F,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAG3E,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAGpF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtF,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGzE,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAG7E,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAGxF,OAAO,EAAE,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAG1F,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAG5E,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGtF,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGpE,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAG5D,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,GAC7B,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mobjects/graphing/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,UAAU,EACV,KAAK,iBAAiB,EACtB,YAAY,EACZ,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGhD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAGtF,OAAO,EAAE,KAAK,2BAA2B,EAAE,KAAK,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAGjG,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAG/F,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAG3E,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAGpF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtF,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGzE,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAG7E,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAGxF,OAAO,EAAE,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAG1F,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAG5E,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGtF,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGpE,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAG5D,OAAO,EACL,QAAQ,EACR,KAAK,eAAe,EACpB,UAAU,EACV,KAAK,iBAAiB,EACtB,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,GAC7B,MAAM,eAAe,CAAC"}
|