curvy 0.1.1 → 0.3.1
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/axis.cjs +325 -0
- package/dist/axis.d.cts +20 -0
- package/dist/axis.d.mts +20 -0
- package/dist/axis.d.ts +20 -0
- package/dist/axis.mjs +314 -0
- package/dist/convert.cjs +74 -0
- package/dist/convert.d.cts +6 -0
- package/dist/convert.d.mts +6 -0
- package/dist/convert.d.ts +6 -0
- package/dist/convert.mjs +68 -0
- package/dist/curve.cjs +192 -0
- package/dist/curve.d.cts +18 -0
- package/dist/curve.d.mts +18 -0
- package/dist/curve.d.ts +18 -0
- package/dist/curve.mjs +182 -0
- package/dist/shared/curvy.0f1371d7.d.cts +38 -0
- package/dist/shared/curvy.0f1371d7.d.mts +38 -0
- package/dist/shared/curvy.0f1371d7.d.ts +38 -0
- package/dist/shared/curvy.262f6070.cjs +16 -0
- package/dist/shared/curvy.9cd8b44c.mjs +13 -0
- package/dist/splines.cjs +150 -0
- package/dist/splines.d.cts +27 -0
- package/dist/splines.d.mts +27 -0
- package/dist/splines.d.ts +27 -0
- package/dist/splines.mjs +138 -0
- package/package.json +24 -12
- package/LICENSE.md +0 -21
- package/dist/index.cjs +0 -670
- package/dist/index.d.cts +0 -95
- package/dist/index.d.mts +0 -95
- package/dist/index.d.ts +0 -95
- package/dist/index.mjs +0 -636
package/dist/index.d.cts
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
type CubicScalars = readonly [number, number, number, number];
|
|
2
|
-
type Matrix4x4 = readonly [
|
|
3
|
-
CubicScalars,
|
|
4
|
-
CubicScalars,
|
|
5
|
-
CubicScalars,
|
|
6
|
-
CubicScalars
|
|
7
|
-
];
|
|
8
|
-
declare function toCubicScalars(values: Array<number>, stride: number): Array<CubicScalars>;
|
|
9
|
-
declare const bezier: Matrix4x4;
|
|
10
|
-
declare function toBezierSegments(values: Array<number>): CubicScalars[];
|
|
11
|
-
declare const hermite: Matrix4x4;
|
|
12
|
-
declare function toHermiteSegments(values: Array<number>): CubicScalars[];
|
|
13
|
-
declare const cardinal: (a: number) => Matrix4x4;
|
|
14
|
-
declare function toCardinalSegments(values: Array<number>, duplicateEndpoints?: boolean): CubicScalars[];
|
|
15
|
-
declare const catmullRom: Matrix4x4;
|
|
16
|
-
declare function toCatmullRomSegments(values: Array<number>, duplicateEndpoints?: boolean): CubicScalars[];
|
|
17
|
-
declare const basis: Matrix4x4;
|
|
18
|
-
declare function toBasisSegments(values: Array<number>, triplicateEndpoints?: boolean): CubicScalars[];
|
|
19
|
-
|
|
20
|
-
declare function convertScalars(points: CubicScalars, sourceSpline: Matrix4x4, targetSpline: Matrix4x4): CubicScalars;
|
|
21
|
-
|
|
22
|
-
type QuadraticScalars = readonly [number, number, number];
|
|
23
|
-
type Monotonicity = 'none' | 'increasing' | 'decreasing' | 'constant';
|
|
24
|
-
type CurveSegment = {
|
|
25
|
-
readonly monotonicity: Monotonicity;
|
|
26
|
-
readonly localExtrema: ReadonlyMap<number, number>;
|
|
27
|
-
readonly points: CubicScalars;
|
|
28
|
-
readonly polynomial: CubicScalars;
|
|
29
|
-
readonly derivative: QuadraticScalars;
|
|
30
|
-
readonly min: number;
|
|
31
|
-
readonly max: number;
|
|
32
|
-
readonly solve: (t: number) => number;
|
|
33
|
-
};
|
|
34
|
-
declare function createCurveSegment(matrix: Matrix4x4, points: CubicScalars): CurveSegment;
|
|
35
|
-
declare function createBezierSegment(points: CubicScalars): CurveSegment;
|
|
36
|
-
declare function createHermiteSegment(points: CubicScalars): CurveSegment;
|
|
37
|
-
declare function createCardinalSegment(points: CubicScalars, tension?: number): CurveSegment;
|
|
38
|
-
declare function createCatmullRomSegment(points: CubicScalars): CurveSegment;
|
|
39
|
-
declare function createBasisSegment(points: CubicScalars): CurveSegment;
|
|
40
|
-
|
|
41
|
-
type Curve = {
|
|
42
|
-
readonly monotonicity: Monotonicity;
|
|
43
|
-
readonly extrema: ReadonlyMap<number, number>;
|
|
44
|
-
readonly segments: ReadonlyArray<CurveSegment>;
|
|
45
|
-
readonly min: number;
|
|
46
|
-
readonly max: number;
|
|
47
|
-
readonly solve: (t: number) => number;
|
|
48
|
-
};
|
|
49
|
-
declare function createCurve(matrix: Matrix4x4, segmentScalars: Array<CubicScalars>): Curve;
|
|
50
|
-
declare function createBezierCurve(values: Array<number>): Curve;
|
|
51
|
-
declare function createHermiteCurve(values: Array<number>): Curve;
|
|
52
|
-
type CardinalCurveOptions = {
|
|
53
|
-
a: number;
|
|
54
|
-
duplicateEndpoints: boolean;
|
|
55
|
-
};
|
|
56
|
-
declare function createCardinalCurve(values: Array<number>, options?: Partial<CardinalCurveOptions>): Curve;
|
|
57
|
-
type CatmullRomCurveOptions = {
|
|
58
|
-
duplicateEndpoints: boolean;
|
|
59
|
-
};
|
|
60
|
-
declare function createCatmullRomCurve(values: Array<number>, options?: Partial<CatmullRomCurveOptions>): Curve;
|
|
61
|
-
type BasisCurveOptions = {
|
|
62
|
-
triplicateEndpoints: boolean;
|
|
63
|
-
};
|
|
64
|
-
declare function createBasisCurve(values: Array<number>, options?: Partial<BasisCurveOptions>): Curve;
|
|
65
|
-
|
|
66
|
-
type Interval = readonly [number, number];
|
|
67
|
-
type Node = {
|
|
68
|
-
interval: Interval;
|
|
69
|
-
left: Node | null;
|
|
70
|
-
right: Node | null;
|
|
71
|
-
};
|
|
72
|
-
type IntervalTree = {
|
|
73
|
-
root: Node;
|
|
74
|
-
search: (query: number) => Interval | null;
|
|
75
|
-
};
|
|
76
|
-
declare function createIntervalTree(boundaries: Array<number>): IntervalTree;
|
|
77
|
-
|
|
78
|
-
type LengthLookupOptions = {
|
|
79
|
-
minSamples: number;
|
|
80
|
-
maxError: number | false;
|
|
81
|
-
};
|
|
82
|
-
declare function createLengthLookup(curve: Curve, options?: Partial<LengthLookupOptions>): Map<number, number>;
|
|
83
|
-
|
|
84
|
-
type Prettify<T> = T extends infer U ? {
|
|
85
|
-
[K in keyof U]: U[K];
|
|
86
|
-
} : never;
|
|
87
|
-
type SolverOptions = Prettify<LengthLookupOptions & {
|
|
88
|
-
lengthAdjust: number;
|
|
89
|
-
}>;
|
|
90
|
-
declare function createSolver(curve: Curve, options?: Partial<SolverOptions>): (input: number, lengthAdjust?: number) => number;
|
|
91
|
-
|
|
92
|
-
declare function round(value: number): number;
|
|
93
|
-
declare function remap(x: number, x1: number, x2: number, y1: number, y2: number): number;
|
|
94
|
-
|
|
95
|
-
export { basis, bezier, cardinal, catmullRom, convertScalars, createBasisCurve, createBasisSegment, createBezierCurve, createBezierSegment, createCardinalCurve, createCardinalSegment, createCatmullRomCurve, createCatmullRomSegment, createCurve, createCurveSegment, createHermiteCurve, createHermiteSegment, createIntervalTree, createLengthLookup, createSolver, hermite, remap, round, toBasisSegments, toBezierSegments, toCardinalSegments, toCatmullRomSegments, toCubicScalars, toHermiteSegments };
|
package/dist/index.d.mts
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
type CubicScalars = readonly [number, number, number, number];
|
|
2
|
-
type Matrix4x4 = readonly [
|
|
3
|
-
CubicScalars,
|
|
4
|
-
CubicScalars,
|
|
5
|
-
CubicScalars,
|
|
6
|
-
CubicScalars
|
|
7
|
-
];
|
|
8
|
-
declare function toCubicScalars(values: Array<number>, stride: number): Array<CubicScalars>;
|
|
9
|
-
declare const bezier: Matrix4x4;
|
|
10
|
-
declare function toBezierSegments(values: Array<number>): CubicScalars[];
|
|
11
|
-
declare const hermite: Matrix4x4;
|
|
12
|
-
declare function toHermiteSegments(values: Array<number>): CubicScalars[];
|
|
13
|
-
declare const cardinal: (a: number) => Matrix4x4;
|
|
14
|
-
declare function toCardinalSegments(values: Array<number>, duplicateEndpoints?: boolean): CubicScalars[];
|
|
15
|
-
declare const catmullRom: Matrix4x4;
|
|
16
|
-
declare function toCatmullRomSegments(values: Array<number>, duplicateEndpoints?: boolean): CubicScalars[];
|
|
17
|
-
declare const basis: Matrix4x4;
|
|
18
|
-
declare function toBasisSegments(values: Array<number>, triplicateEndpoints?: boolean): CubicScalars[];
|
|
19
|
-
|
|
20
|
-
declare function convertScalars(points: CubicScalars, sourceSpline: Matrix4x4, targetSpline: Matrix4x4): CubicScalars;
|
|
21
|
-
|
|
22
|
-
type QuadraticScalars = readonly [number, number, number];
|
|
23
|
-
type Monotonicity = 'none' | 'increasing' | 'decreasing' | 'constant';
|
|
24
|
-
type CurveSegment = {
|
|
25
|
-
readonly monotonicity: Monotonicity;
|
|
26
|
-
readonly localExtrema: ReadonlyMap<number, number>;
|
|
27
|
-
readonly points: CubicScalars;
|
|
28
|
-
readonly polynomial: CubicScalars;
|
|
29
|
-
readonly derivative: QuadraticScalars;
|
|
30
|
-
readonly min: number;
|
|
31
|
-
readonly max: number;
|
|
32
|
-
readonly solve: (t: number) => number;
|
|
33
|
-
};
|
|
34
|
-
declare function createCurveSegment(matrix: Matrix4x4, points: CubicScalars): CurveSegment;
|
|
35
|
-
declare function createBezierSegment(points: CubicScalars): CurveSegment;
|
|
36
|
-
declare function createHermiteSegment(points: CubicScalars): CurveSegment;
|
|
37
|
-
declare function createCardinalSegment(points: CubicScalars, tension?: number): CurveSegment;
|
|
38
|
-
declare function createCatmullRomSegment(points: CubicScalars): CurveSegment;
|
|
39
|
-
declare function createBasisSegment(points: CubicScalars): CurveSegment;
|
|
40
|
-
|
|
41
|
-
type Curve = {
|
|
42
|
-
readonly monotonicity: Monotonicity;
|
|
43
|
-
readonly extrema: ReadonlyMap<number, number>;
|
|
44
|
-
readonly segments: ReadonlyArray<CurveSegment>;
|
|
45
|
-
readonly min: number;
|
|
46
|
-
readonly max: number;
|
|
47
|
-
readonly solve: (t: number) => number;
|
|
48
|
-
};
|
|
49
|
-
declare function createCurve(matrix: Matrix4x4, segmentScalars: Array<CubicScalars>): Curve;
|
|
50
|
-
declare function createBezierCurve(values: Array<number>): Curve;
|
|
51
|
-
declare function createHermiteCurve(values: Array<number>): Curve;
|
|
52
|
-
type CardinalCurveOptions = {
|
|
53
|
-
a: number;
|
|
54
|
-
duplicateEndpoints: boolean;
|
|
55
|
-
};
|
|
56
|
-
declare function createCardinalCurve(values: Array<number>, options?: Partial<CardinalCurveOptions>): Curve;
|
|
57
|
-
type CatmullRomCurveOptions = {
|
|
58
|
-
duplicateEndpoints: boolean;
|
|
59
|
-
};
|
|
60
|
-
declare function createCatmullRomCurve(values: Array<number>, options?: Partial<CatmullRomCurveOptions>): Curve;
|
|
61
|
-
type BasisCurveOptions = {
|
|
62
|
-
triplicateEndpoints: boolean;
|
|
63
|
-
};
|
|
64
|
-
declare function createBasisCurve(values: Array<number>, options?: Partial<BasisCurveOptions>): Curve;
|
|
65
|
-
|
|
66
|
-
type Interval = readonly [number, number];
|
|
67
|
-
type Node = {
|
|
68
|
-
interval: Interval;
|
|
69
|
-
left: Node | null;
|
|
70
|
-
right: Node | null;
|
|
71
|
-
};
|
|
72
|
-
type IntervalTree = {
|
|
73
|
-
root: Node;
|
|
74
|
-
search: (query: number) => Interval | null;
|
|
75
|
-
};
|
|
76
|
-
declare function createIntervalTree(boundaries: Array<number>): IntervalTree;
|
|
77
|
-
|
|
78
|
-
type LengthLookupOptions = {
|
|
79
|
-
minSamples: number;
|
|
80
|
-
maxError: number | false;
|
|
81
|
-
};
|
|
82
|
-
declare function createLengthLookup(curve: Curve, options?: Partial<LengthLookupOptions>): Map<number, number>;
|
|
83
|
-
|
|
84
|
-
type Prettify<T> = T extends infer U ? {
|
|
85
|
-
[K in keyof U]: U[K];
|
|
86
|
-
} : never;
|
|
87
|
-
type SolverOptions = Prettify<LengthLookupOptions & {
|
|
88
|
-
lengthAdjust: number;
|
|
89
|
-
}>;
|
|
90
|
-
declare function createSolver(curve: Curve, options?: Partial<SolverOptions>): (input: number, lengthAdjust?: number) => number;
|
|
91
|
-
|
|
92
|
-
declare function round(value: number): number;
|
|
93
|
-
declare function remap(x: number, x1: number, x2: number, y1: number, y2: number): number;
|
|
94
|
-
|
|
95
|
-
export { basis, bezier, cardinal, catmullRom, convertScalars, createBasisCurve, createBasisSegment, createBezierCurve, createBezierSegment, createCardinalCurve, createCardinalSegment, createCatmullRomCurve, createCatmullRomSegment, createCurve, createCurveSegment, createHermiteCurve, createHermiteSegment, createIntervalTree, createLengthLookup, createSolver, hermite, remap, round, toBasisSegments, toBezierSegments, toCardinalSegments, toCatmullRomSegments, toCubicScalars, toHermiteSegments };
|
package/dist/index.d.ts
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
type CubicScalars = readonly [number, number, number, number];
|
|
2
|
-
type Matrix4x4 = readonly [
|
|
3
|
-
CubicScalars,
|
|
4
|
-
CubicScalars,
|
|
5
|
-
CubicScalars,
|
|
6
|
-
CubicScalars
|
|
7
|
-
];
|
|
8
|
-
declare function toCubicScalars(values: Array<number>, stride: number): Array<CubicScalars>;
|
|
9
|
-
declare const bezier: Matrix4x4;
|
|
10
|
-
declare function toBezierSegments(values: Array<number>): CubicScalars[];
|
|
11
|
-
declare const hermite: Matrix4x4;
|
|
12
|
-
declare function toHermiteSegments(values: Array<number>): CubicScalars[];
|
|
13
|
-
declare const cardinal: (a: number) => Matrix4x4;
|
|
14
|
-
declare function toCardinalSegments(values: Array<number>, duplicateEndpoints?: boolean): CubicScalars[];
|
|
15
|
-
declare const catmullRom: Matrix4x4;
|
|
16
|
-
declare function toCatmullRomSegments(values: Array<number>, duplicateEndpoints?: boolean): CubicScalars[];
|
|
17
|
-
declare const basis: Matrix4x4;
|
|
18
|
-
declare function toBasisSegments(values: Array<number>, triplicateEndpoints?: boolean): CubicScalars[];
|
|
19
|
-
|
|
20
|
-
declare function convertScalars(points: CubicScalars, sourceSpline: Matrix4x4, targetSpline: Matrix4x4): CubicScalars;
|
|
21
|
-
|
|
22
|
-
type QuadraticScalars = readonly [number, number, number];
|
|
23
|
-
type Monotonicity = 'none' | 'increasing' | 'decreasing' | 'constant';
|
|
24
|
-
type CurveSegment = {
|
|
25
|
-
readonly monotonicity: Monotonicity;
|
|
26
|
-
readonly localExtrema: ReadonlyMap<number, number>;
|
|
27
|
-
readonly points: CubicScalars;
|
|
28
|
-
readonly polynomial: CubicScalars;
|
|
29
|
-
readonly derivative: QuadraticScalars;
|
|
30
|
-
readonly min: number;
|
|
31
|
-
readonly max: number;
|
|
32
|
-
readonly solve: (t: number) => number;
|
|
33
|
-
};
|
|
34
|
-
declare function createCurveSegment(matrix: Matrix4x4, points: CubicScalars): CurveSegment;
|
|
35
|
-
declare function createBezierSegment(points: CubicScalars): CurveSegment;
|
|
36
|
-
declare function createHermiteSegment(points: CubicScalars): CurveSegment;
|
|
37
|
-
declare function createCardinalSegment(points: CubicScalars, tension?: number): CurveSegment;
|
|
38
|
-
declare function createCatmullRomSegment(points: CubicScalars): CurveSegment;
|
|
39
|
-
declare function createBasisSegment(points: CubicScalars): CurveSegment;
|
|
40
|
-
|
|
41
|
-
type Curve = {
|
|
42
|
-
readonly monotonicity: Monotonicity;
|
|
43
|
-
readonly extrema: ReadonlyMap<number, number>;
|
|
44
|
-
readonly segments: ReadonlyArray<CurveSegment>;
|
|
45
|
-
readonly min: number;
|
|
46
|
-
readonly max: number;
|
|
47
|
-
readonly solve: (t: number) => number;
|
|
48
|
-
};
|
|
49
|
-
declare function createCurve(matrix: Matrix4x4, segmentScalars: Array<CubicScalars>): Curve;
|
|
50
|
-
declare function createBezierCurve(values: Array<number>): Curve;
|
|
51
|
-
declare function createHermiteCurve(values: Array<number>): Curve;
|
|
52
|
-
type CardinalCurveOptions = {
|
|
53
|
-
a: number;
|
|
54
|
-
duplicateEndpoints: boolean;
|
|
55
|
-
};
|
|
56
|
-
declare function createCardinalCurve(values: Array<number>, options?: Partial<CardinalCurveOptions>): Curve;
|
|
57
|
-
type CatmullRomCurveOptions = {
|
|
58
|
-
duplicateEndpoints: boolean;
|
|
59
|
-
};
|
|
60
|
-
declare function createCatmullRomCurve(values: Array<number>, options?: Partial<CatmullRomCurveOptions>): Curve;
|
|
61
|
-
type BasisCurveOptions = {
|
|
62
|
-
triplicateEndpoints: boolean;
|
|
63
|
-
};
|
|
64
|
-
declare function createBasisCurve(values: Array<number>, options?: Partial<BasisCurveOptions>): Curve;
|
|
65
|
-
|
|
66
|
-
type Interval = readonly [number, number];
|
|
67
|
-
type Node = {
|
|
68
|
-
interval: Interval;
|
|
69
|
-
left: Node | null;
|
|
70
|
-
right: Node | null;
|
|
71
|
-
};
|
|
72
|
-
type IntervalTree = {
|
|
73
|
-
root: Node;
|
|
74
|
-
search: (query: number) => Interval | null;
|
|
75
|
-
};
|
|
76
|
-
declare function createIntervalTree(boundaries: Array<number>): IntervalTree;
|
|
77
|
-
|
|
78
|
-
type LengthLookupOptions = {
|
|
79
|
-
minSamples: number;
|
|
80
|
-
maxError: number | false;
|
|
81
|
-
};
|
|
82
|
-
declare function createLengthLookup(curve: Curve, options?: Partial<LengthLookupOptions>): Map<number, number>;
|
|
83
|
-
|
|
84
|
-
type Prettify<T> = T extends infer U ? {
|
|
85
|
-
[K in keyof U]: U[K];
|
|
86
|
-
} : never;
|
|
87
|
-
type SolverOptions = Prettify<LengthLookupOptions & {
|
|
88
|
-
lengthAdjust: number;
|
|
89
|
-
}>;
|
|
90
|
-
declare function createSolver(curve: Curve, options?: Partial<SolverOptions>): (input: number, lengthAdjust?: number) => number;
|
|
91
|
-
|
|
92
|
-
declare function round(value: number): number;
|
|
93
|
-
declare function remap(x: number, x1: number, x2: number, y1: number, y2: number): number;
|
|
94
|
-
|
|
95
|
-
export { basis, bezier, cardinal, catmullRom, convertScalars, createBasisCurve, createBasisSegment, createBezierCurve, createBezierSegment, createCardinalCurve, createCardinalSegment, createCatmullRomCurve, createCatmullRomSegment, createCurve, createCurveSegment, createHermiteCurve, createHermiteSegment, createIntervalTree, createLengthLookup, createSolver, hermite, remap, round, toBasisSegments, toBezierSegments, toCardinalSegments, toCatmullRomSegments, toCubicScalars, toHermiteSegments };
|