@sarmal/core 0.25.0 → 0.26.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/auto-init.cjs +94 -95
- package/dist/auto-init.cjs.map +1 -1
- package/dist/auto-init.js +94 -95
- package/dist/auto-init.js.map +1 -1
- package/dist/curves/artemis2.cjs +6 -7
- package/dist/curves/artemis2.cjs.map +1 -1
- package/dist/curves/artemis2.d.cts +1 -1
- package/dist/curves/artemis2.d.ts +1 -1
- package/dist/curves/artemis2.js +6 -7
- package/dist/curves/artemis2.js.map +1 -1
- package/dist/curves/astroid.cjs +3 -3
- package/dist/curves/astroid.cjs.map +1 -1
- package/dist/curves/astroid.d.cts +1 -1
- package/dist/curves/astroid.d.ts +1 -1
- package/dist/curves/astroid.js +3 -3
- package/dist/curves/astroid.js.map +1 -1
- package/dist/curves/deltoid.cjs +3 -3
- package/dist/curves/deltoid.cjs.map +1 -1
- package/dist/curves/deltoid.d.cts +1 -1
- package/dist/curves/deltoid.d.ts +1 -1
- package/dist/curves/deltoid.js +3 -3
- package/dist/curves/deltoid.js.map +1 -1
- package/dist/curves/epicycloid3.cjs +3 -3
- package/dist/curves/epicycloid3.cjs.map +1 -1
- package/dist/curves/epicycloid3.d.cts +1 -1
- package/dist/curves/epicycloid3.d.ts +1 -1
- package/dist/curves/epicycloid3.js +3 -3
- package/dist/curves/epicycloid3.js.map +1 -1
- package/dist/curves/epitrochoid7.cjs +7 -7
- package/dist/curves/epitrochoid7.cjs.map +1 -1
- package/dist/curves/epitrochoid7.d.cts +1 -1
- package/dist/curves/epitrochoid7.d.ts +1 -1
- package/dist/curves/epitrochoid7.js +7 -7
- package/dist/curves/epitrochoid7.js.map +1 -1
- package/dist/curves/index.cjs +57 -58
- package/dist/curves/index.cjs.map +1 -1
- package/dist/curves/index.d.cts +1 -1
- package/dist/curves/index.d.ts +1 -1
- package/dist/curves/index.js +57 -58
- package/dist/curves/index.js.map +1 -1
- package/dist/curves/lame.cjs +3 -3
- package/dist/curves/lame.cjs.map +1 -1
- package/dist/curves/lame.d.cts +1 -1
- package/dist/curves/lame.d.ts +1 -1
- package/dist/curves/lame.js +3 -3
- package/dist/curves/lame.js.map +1 -1
- package/dist/curves/lissajous32.cjs +4 -4
- package/dist/curves/lissajous32.cjs.map +1 -1
- package/dist/curves/lissajous32.d.cts +1 -1
- package/dist/curves/lissajous32.d.ts +1 -1
- package/dist/curves/lissajous32.js +4 -4
- package/dist/curves/lissajous32.js.map +1 -1
- package/dist/curves/lissajous43.cjs +4 -4
- package/dist/curves/lissajous43.cjs.map +1 -1
- package/dist/curves/lissajous43.d.cts +1 -1
- package/dist/curves/lissajous43.d.ts +1 -1
- package/dist/curves/lissajous43.js +4 -4
- package/dist/curves/lissajous43.js.map +1 -1
- package/dist/curves/rose3.cjs +4 -4
- package/dist/curves/rose3.cjs.map +1 -1
- package/dist/curves/rose3.d.cts +1 -1
- package/dist/curves/rose3.d.ts +1 -1
- package/dist/curves/rose3.js +4 -4
- package/dist/curves/rose3.js.map +1 -1
- package/dist/curves/rose5.cjs +4 -4
- package/dist/curves/rose5.cjs.map +1 -1
- package/dist/curves/rose5.d.cts +1 -1
- package/dist/curves/rose5.d.ts +1 -1
- package/dist/curves/rose5.js +4 -4
- package/dist/curves/rose5.js.map +1 -1
- package/dist/curves/rose52.cjs +4 -4
- package/dist/curves/rose52.cjs.map +1 -1
- package/dist/curves/rose52.d.cts +1 -1
- package/dist/curves/rose52.d.ts +1 -1
- package/dist/curves/rose52.js +4 -4
- package/dist/curves/rose52.js.map +1 -1
- package/dist/curves/star.cjs +4 -4
- package/dist/curves/star.cjs.map +1 -1
- package/dist/curves/star.d.cts +1 -1
- package/dist/curves/star.d.ts +1 -1
- package/dist/curves/star.js +4 -4
- package/dist/curves/star.js.map +1 -1
- package/dist/curves/star4.cjs +4 -4
- package/dist/curves/star4.cjs.map +1 -1
- package/dist/curves/star4.d.cts +2 -2
- package/dist/curves/star4.d.ts +2 -2
- package/dist/curves/star4.js +4 -4
- package/dist/curves/star4.js.map +1 -1
- package/dist/curves/star7.cjs +4 -4
- package/dist/curves/star7.cjs.map +1 -1
- package/dist/curves/star7.d.cts +2 -2
- package/dist/curves/star7.d.ts +2 -2
- package/dist/curves/star7.js +4 -4
- package/dist/curves/star7.js.map +1 -1
- package/dist/index.cjs +94 -95
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -7
- package/dist/index.d.ts +7 -7
- package/dist/index.js +94 -95
- package/dist/index.js.map +1 -1
- package/dist/{types-BZpzgNau.d.cts → types-zbxUgcmZ.d.cts} +30 -37
- package/dist/{types-BZpzgNau.d.ts → types-zbxUgcmZ.d.ts} +30 -37
- package/package.json +1 -1
package/dist/auto-init.js
CHANGED
|
@@ -72,21 +72,21 @@ function createEngine(curveDef, trailLength = 120) {
|
|
|
72
72
|
}
|
|
73
73
|
let curve = resolveCurve(curveDef);
|
|
74
74
|
const trail = new CircularBuffer(trailLength);
|
|
75
|
-
let
|
|
75
|
+
let phase = 0;
|
|
76
76
|
let actualTime = 0;
|
|
77
77
|
let userSpeedOverride = null;
|
|
78
78
|
let morphCurveB = null;
|
|
79
79
|
let _morphAlpha = null;
|
|
80
80
|
let _morphStrategy = "normalized";
|
|
81
81
|
let _speedTransition = null;
|
|
82
|
-
function sampleSkeleton(c,
|
|
82
|
+
function sampleSkeleton(c, samplePhase) {
|
|
83
83
|
if (c.skeletonFn) {
|
|
84
|
-
return c.skeletonFn(
|
|
84
|
+
return c.skeletonFn(samplePhase);
|
|
85
85
|
}
|
|
86
86
|
if (c.skeleton === "live") {
|
|
87
|
-
return c.fn(
|
|
87
|
+
return c.fn(samplePhase, actualTime, EMPTY_PARAMS);
|
|
88
88
|
}
|
|
89
|
-
return c.fn(
|
|
89
|
+
return c.fn(samplePhase, 0, EMPTY_PARAMS);
|
|
90
90
|
}
|
|
91
91
|
return {
|
|
92
92
|
tick(deltaTime) {
|
|
@@ -104,15 +104,15 @@ function createEngine(curveDef, trailLength = 120) {
|
|
|
104
104
|
if (morphCurveB !== null && _morphAlpha !== null) {
|
|
105
105
|
effectiveSpeed = lerp(effectiveSpeed, morphCurveB.speed, _morphAlpha);
|
|
106
106
|
}
|
|
107
|
-
|
|
107
|
+
phase = (phase + effectiveSpeed * deltaTime) % curve.period;
|
|
108
108
|
actualTime += deltaTime;
|
|
109
109
|
if (morphCurveB !== null && _morphAlpha !== null) {
|
|
110
|
-
const a = curve.fn(
|
|
111
|
-
const
|
|
112
|
-
const b = morphCurveB.fn(
|
|
110
|
+
const a = curve.fn(phase, actualTime, EMPTY_PARAMS);
|
|
111
|
+
const phaseB = _morphStrategy === "normalized" ? phase / curve.period * morphCurveB.period : phase;
|
|
112
|
+
const b = morphCurveB.fn(phaseB, actualTime, EMPTY_PARAMS);
|
|
113
113
|
trail.push(a.x + (b.x - a.x) * _morphAlpha, a.y + (b.y - a.y) * _morphAlpha);
|
|
114
114
|
} else {
|
|
115
|
-
const point = curve.fn(
|
|
115
|
+
const point = curve.fn(phase, actualTime, EMPTY_PARAMS);
|
|
116
116
|
trail.push(point.x, point.y);
|
|
117
117
|
}
|
|
118
118
|
return trail.toArray();
|
|
@@ -130,30 +130,30 @@ function createEngine(curveDef, trailLength = 120) {
|
|
|
130
130
|
return _morphAlpha;
|
|
131
131
|
},
|
|
132
132
|
reset() {
|
|
133
|
-
|
|
133
|
+
phase = 0;
|
|
134
134
|
actualTime = 0;
|
|
135
135
|
trail.clear();
|
|
136
136
|
},
|
|
137
|
-
jump(
|
|
138
|
-
|
|
137
|
+
jump(newPhase, { clearTrail = false } = {}) {
|
|
138
|
+
phase = (newPhase % curve.period + curve.period) % curve.period;
|
|
139
139
|
if (clearTrail) {
|
|
140
140
|
trail.clear();
|
|
141
141
|
}
|
|
142
142
|
},
|
|
143
|
-
seek(
|
|
143
|
+
seek(targetPhase, { wrap = false, step = curve.period / trailLength } = {}) {
|
|
144
144
|
const advance = curve.speed * step;
|
|
145
|
-
const target = (
|
|
145
|
+
const target = (targetPhase % curve.period + curve.period) % curve.period;
|
|
146
146
|
const targetTime = target / curve.speed;
|
|
147
|
-
|
|
147
|
+
phase = target;
|
|
148
148
|
actualTime = targetTime;
|
|
149
149
|
trail.clear();
|
|
150
150
|
const pointsFromStart = Math.floor(target / advance) + 1;
|
|
151
151
|
const count = wrap ? trailLength : Math.min(trailLength, pointsFromStart);
|
|
152
152
|
for (let i = count - 1; i >= 0; i--) {
|
|
153
|
-
const
|
|
154
|
-
const
|
|
155
|
-
const
|
|
156
|
-
const point = curve.fn(
|
|
153
|
+
const samplePhase = target - i * advance;
|
|
154
|
+
const wrappedPhase = (samplePhase % curve.period + curve.period) % curve.period;
|
|
155
|
+
const elapsed = targetTime - i * step;
|
|
156
|
+
const point = curve.fn(wrappedPhase, elapsed, EMPTY_PARAMS);
|
|
157
157
|
trail.push(point.x, point.y);
|
|
158
158
|
}
|
|
159
159
|
},
|
|
@@ -166,10 +166,10 @@ function createEngine(curveDef, trailLength = 120) {
|
|
|
166
166
|
const frozenStrategy = _morphStrategy;
|
|
167
167
|
curve = {
|
|
168
168
|
...frozenB,
|
|
169
|
-
fn: (
|
|
170
|
-
const a = frozenA.fn(
|
|
171
|
-
const
|
|
172
|
-
const b = frozenB.fn(
|
|
169
|
+
fn: (samplePhase, elapsed, params) => {
|
|
170
|
+
const a = frozenA.fn(samplePhase, elapsed, params);
|
|
171
|
+
const phaseB = frozenStrategy === "normalized" ? samplePhase / frozenA.period * frozenB.period : samplePhase;
|
|
172
|
+
const b = frozenB.fn(phaseB, elapsed, params);
|
|
173
173
|
return {
|
|
174
174
|
x: a.x + (b.x - a.x) * frozenAlpha,
|
|
175
175
|
y: a.y + (b.y - a.y) * frozenAlpha
|
|
@@ -187,7 +187,7 @@ function createEngine(curveDef, trailLength = 120) {
|
|
|
187
187
|
completeMorph() {
|
|
188
188
|
if (morphCurveB !== null) {
|
|
189
189
|
if (_morphStrategy === "normalized" && curve.period !== morphCurveB.period) {
|
|
190
|
-
|
|
190
|
+
phase = phase / curve.period * morphCurveB.period;
|
|
191
191
|
}
|
|
192
192
|
curve = morphCurveB;
|
|
193
193
|
}
|
|
@@ -199,10 +199,10 @@ function createEngine(curveDef, trailLength = 120) {
|
|
|
199
199
|
const points2 = new Array(steps);
|
|
200
200
|
if (morphCurveB !== null && _morphAlpha !== null) {
|
|
201
201
|
for (let i = 0; i < steps; i++) {
|
|
202
|
-
const
|
|
203
|
-
const a = sampleSkeleton(curve,
|
|
204
|
-
const
|
|
205
|
-
const b = sampleSkeleton(morphCurveB,
|
|
202
|
+
const samplePhase = i / (steps - 1) * curve.period;
|
|
203
|
+
const a = sampleSkeleton(curve, samplePhase);
|
|
204
|
+
const phaseB = _morphStrategy === "normalized" ? samplePhase / curve.period * morphCurveB.period : samplePhase;
|
|
205
|
+
const b = sampleSkeleton(morphCurveB, phaseB);
|
|
206
206
|
points2[i] = {
|
|
207
207
|
x: a.x + (b.x - a.x) * _morphAlpha,
|
|
208
208
|
y: a.y + (b.y - a.y) * _morphAlpha
|
|
@@ -211,8 +211,8 @@ function createEngine(curveDef, trailLength = 120) {
|
|
|
211
211
|
return points2;
|
|
212
212
|
}
|
|
213
213
|
for (let i = 0; i < steps; i++) {
|
|
214
|
-
const
|
|
215
|
-
points2[i] = sampleSkeleton(curve,
|
|
214
|
+
const samplePhase = i / (steps - 1) * curve.period;
|
|
215
|
+
points2[i] = sampleSkeleton(curve, samplePhase);
|
|
216
216
|
}
|
|
217
217
|
return points2;
|
|
218
218
|
},
|
|
@@ -735,8 +735,8 @@ function createRenderer(options) {
|
|
|
735
735
|
if (!engine.isLiveSkeleton) {
|
|
736
736
|
buildSkeletonCanvas();
|
|
737
737
|
}
|
|
738
|
-
if (options.
|
|
739
|
-
engine.seek(options.
|
|
738
|
+
if (options.initialPhase !== void 0) {
|
|
739
|
+
engine.seek(options.initialPhase);
|
|
740
740
|
}
|
|
741
741
|
renderFrame(0);
|
|
742
742
|
const shouldAutoStart = options.autoStart !== false;
|
|
@@ -870,8 +870,8 @@ function sampleCurveSkeleton(curveDef) {
|
|
|
870
870
|
const samples = Math.ceil(period * 50);
|
|
871
871
|
const pts = Array.from({ length: samples });
|
|
872
872
|
for (let i = 0; i < samples; i++) {
|
|
873
|
-
const
|
|
874
|
-
pts[i] = curveDef.skeletonFn ? curveDef.skeletonFn(
|
|
873
|
+
const phase = i / (samples - 1) * period;
|
|
874
|
+
pts[i] = curveDef.skeletonFn ? curveDef.skeletonFn(phase) : curveDef.fn(phase, 0, EMPTY_PARAMS2);
|
|
875
875
|
}
|
|
876
876
|
return pts;
|
|
877
877
|
}
|
|
@@ -1081,8 +1081,8 @@ function createSVGRenderer(options) {
|
|
|
1081
1081
|
animationId = requestAnimationFrame(loop);
|
|
1082
1082
|
}
|
|
1083
1083
|
}
|
|
1084
|
-
if (options.
|
|
1085
|
-
engine.seek(options.
|
|
1084
|
+
if (options.initialPhase !== void 0) {
|
|
1085
|
+
engine.seek(options.initialPhase);
|
|
1086
1086
|
}
|
|
1087
1087
|
renderFrame(0);
|
|
1088
1088
|
const shouldAutoStart = options.autoStart !== false;
|
|
@@ -1232,7 +1232,7 @@ function catmullRom1D(p0, p1, p2, p3, u) {
|
|
|
1232
1232
|
const u3 = u2 * u;
|
|
1233
1233
|
return 0.5 * (2 * p1 + (-p0 + p2) * u + (2 * p0 - 5 * p1 + 4 * p2 - p3) * u2 + (-p0 + 3 * p1 - 3 * p2 + p3) * u3);
|
|
1234
1234
|
}
|
|
1235
|
-
function evaluateCatmullRom(points2,
|
|
1235
|
+
function evaluateCatmullRom(points2, phase) {
|
|
1236
1236
|
const N = points2.length;
|
|
1237
1237
|
if (N === 0) {
|
|
1238
1238
|
return { x: 0, y: 0 };
|
|
@@ -1240,13 +1240,13 @@ function evaluateCatmullRom(points2, t) {
|
|
|
1240
1240
|
if (N === 1) {
|
|
1241
1241
|
return { x: points2[0][0], y: points2[0][1] };
|
|
1242
1242
|
}
|
|
1243
|
-
|
|
1243
|
+
phase = (phase % PERIOD + PERIOD) % PERIOD;
|
|
1244
1244
|
const segmentSize = PERIOD / N;
|
|
1245
|
-
let i = Math.floor(
|
|
1245
|
+
let i = Math.floor(phase / segmentSize);
|
|
1246
1246
|
if (i >= N) {
|
|
1247
1247
|
i = N - 1;
|
|
1248
1248
|
}
|
|
1249
|
-
let u = (
|
|
1249
|
+
let u = (phase - i * segmentSize) / segmentSize;
|
|
1250
1250
|
u = Math.max(0, Math.min(1, u));
|
|
1251
1251
|
const p0 = points2[(i - 1 + N) % N];
|
|
1252
1252
|
const p1 = points2[i];
|
|
@@ -1276,9 +1276,8 @@ function drawCurve(points2, opts) {
|
|
|
1276
1276
|
const pts = points2.map(([x, y]) => [x, y]);
|
|
1277
1277
|
return {
|
|
1278
1278
|
name: opts?.name ?? "drawn",
|
|
1279
|
-
fn: (
|
|
1280
|
-
period: PERIOD
|
|
1281
|
-
kind: "drawn"
|
|
1279
|
+
fn: (phase) => evaluateCatmullRom(pts, phase),
|
|
1280
|
+
period: PERIOD
|
|
1282
1281
|
};
|
|
1283
1282
|
}
|
|
1284
1283
|
|
|
@@ -1313,9 +1312,9 @@ var artemis2 = {
|
|
|
1313
1312
|
|
|
1314
1313
|
// src/curves/astroid.ts
|
|
1315
1314
|
var TWO_PI2 = Math.PI * 2;
|
|
1316
|
-
function astroidFn(
|
|
1317
|
-
const c = Math.cos(
|
|
1318
|
-
const s = Math.sin(
|
|
1315
|
+
function astroidFn(phase, _elapsed, _params) {
|
|
1316
|
+
const c = Math.cos(phase);
|
|
1317
|
+
const s = Math.sin(phase);
|
|
1319
1318
|
return {
|
|
1320
1319
|
x: c * c * c,
|
|
1321
1320
|
y: s * s * s
|
|
@@ -1330,10 +1329,10 @@ var astroid = {
|
|
|
1330
1329
|
|
|
1331
1330
|
// src/curves/deltoid.ts
|
|
1332
1331
|
var TWO_PI3 = Math.PI * 2;
|
|
1333
|
-
function deltoidFn(
|
|
1332
|
+
function deltoidFn(phase, _elapsed, _params) {
|
|
1334
1333
|
return {
|
|
1335
|
-
x: 2 * Math.cos(
|
|
1336
|
-
y: 2 * Math.sin(
|
|
1334
|
+
x: 2 * Math.cos(phase) + Math.cos(2 * phase),
|
|
1335
|
+
y: 2 * Math.sin(phase) - Math.sin(2 * phase)
|
|
1337
1336
|
};
|
|
1338
1337
|
}
|
|
1339
1338
|
var deltoid = {
|
|
@@ -1345,10 +1344,10 @@ var deltoid = {
|
|
|
1345
1344
|
|
|
1346
1345
|
// src/curves/epicycloid3.ts
|
|
1347
1346
|
var TWO_PI4 = Math.PI * 2;
|
|
1348
|
-
function epicycloid3Fn(
|
|
1347
|
+
function epicycloid3Fn(phase, _elapsed, _params) {
|
|
1349
1348
|
return {
|
|
1350
|
-
x: 4 * Math.cos(
|
|
1351
|
-
y: 4 * Math.sin(
|
|
1349
|
+
x: 4 * Math.cos(phase) - Math.cos(4 * phase),
|
|
1350
|
+
y: 4 * Math.sin(phase) - Math.sin(4 * phase)
|
|
1352
1351
|
};
|
|
1353
1352
|
}
|
|
1354
1353
|
var epicycloid3 = {
|
|
@@ -1360,18 +1359,18 @@ var epicycloid3 = {
|
|
|
1360
1359
|
|
|
1361
1360
|
// src/curves/epitrochoid7.ts
|
|
1362
1361
|
var TWO_PI5 = Math.PI * 2;
|
|
1363
|
-
function epitrochoid7Fn(
|
|
1364
|
-
const d = 1 + 0.55 * Math.sin(
|
|
1362
|
+
function epitrochoid7Fn(phase, _elapsed, _params) {
|
|
1363
|
+
const d = 1 + 0.55 * Math.sin(phase * 0.5);
|
|
1365
1364
|
return {
|
|
1366
|
-
x: 7 * Math.cos(
|
|
1367
|
-
y: 7 * Math.sin(
|
|
1365
|
+
x: 7 * Math.cos(phase) - d * Math.cos(7 * phase),
|
|
1366
|
+
y: 7 * Math.sin(phase) - d * Math.sin(7 * phase)
|
|
1368
1367
|
};
|
|
1369
1368
|
}
|
|
1370
|
-
function epitrochoid7SkeletonFn(
|
|
1369
|
+
function epitrochoid7SkeletonFn(phase) {
|
|
1371
1370
|
const d = 1.275;
|
|
1372
1371
|
return {
|
|
1373
|
-
x: 7 * Math.cos(
|
|
1374
|
-
y: 7 * Math.sin(
|
|
1372
|
+
x: 7 * Math.cos(phase) - d * Math.cos(7 * phase),
|
|
1373
|
+
y: 7 * Math.sin(phase) - d * Math.sin(7 * phase)
|
|
1375
1374
|
};
|
|
1376
1375
|
}
|
|
1377
1376
|
var epitrochoid7 = {
|
|
@@ -1384,11 +1383,11 @@ var epitrochoid7 = {
|
|
|
1384
1383
|
|
|
1385
1384
|
// src/curves/lissajous32.ts
|
|
1386
1385
|
var TWO_PI6 = Math.PI * 2;
|
|
1387
|
-
function lissajous32Fn(
|
|
1388
|
-
const phi =
|
|
1386
|
+
function lissajous32Fn(phase, elapsed, _params) {
|
|
1387
|
+
const phi = elapsed * 0.45;
|
|
1389
1388
|
return {
|
|
1390
|
-
x: Math.sin(3 *
|
|
1391
|
-
y: Math.sin(2 *
|
|
1389
|
+
x: Math.sin(3 * phase + phi),
|
|
1390
|
+
y: Math.sin(2 * phase)
|
|
1392
1391
|
};
|
|
1393
1392
|
}
|
|
1394
1393
|
var lissajous32 = {
|
|
@@ -1401,11 +1400,11 @@ var lissajous32 = {
|
|
|
1401
1400
|
|
|
1402
1401
|
// src/curves/lissajous43.ts
|
|
1403
1402
|
var TWO_PI7 = Math.PI * 2;
|
|
1404
|
-
function lissajous43Fn(
|
|
1405
|
-
const phi =
|
|
1403
|
+
function lissajous43Fn(phase, elapsed, _params) {
|
|
1404
|
+
const phi = elapsed * 0.38;
|
|
1406
1405
|
return {
|
|
1407
|
-
x: Math.sin(4 *
|
|
1408
|
-
y: Math.sin(3 *
|
|
1406
|
+
x: Math.sin(4 * phase + phi),
|
|
1407
|
+
y: Math.sin(3 * phase)
|
|
1409
1408
|
};
|
|
1410
1409
|
}
|
|
1411
1410
|
var lissajous43 = {
|
|
@@ -1418,9 +1417,9 @@ var lissajous43 = {
|
|
|
1418
1417
|
|
|
1419
1418
|
// src/curves/lame.ts
|
|
1420
1419
|
var TWO_PI8 = Math.PI * 2;
|
|
1421
|
-
function lameFn(
|
|
1422
|
-
const p = 1.75 + 1.25 * Math.sin(
|
|
1423
|
-
const c = Math.cos(
|
|
1420
|
+
function lameFn(phase, elapsed, _params) {
|
|
1421
|
+
const p = 1.75 + 1.25 * Math.sin(elapsed * 0.48);
|
|
1422
|
+
const c = Math.cos(phase), s = Math.sin(phase);
|
|
1424
1423
|
return {
|
|
1425
1424
|
x: Math.sign(c) * Math.pow(Math.abs(c), p),
|
|
1426
1425
|
y: Math.sign(s) * Math.pow(Math.abs(s), p)
|
|
@@ -1436,11 +1435,11 @@ var lame = {
|
|
|
1436
1435
|
|
|
1437
1436
|
// src/curves/rose3.ts
|
|
1438
1437
|
var TWO_PI9 = Math.PI * 2;
|
|
1439
|
-
function rose3Fn(
|
|
1440
|
-
const r = Math.cos(3 *
|
|
1438
|
+
function rose3Fn(phase, _elapsed, _params) {
|
|
1439
|
+
const r = Math.cos(3 * phase);
|
|
1441
1440
|
return {
|
|
1442
|
-
x: r * Math.cos(
|
|
1443
|
-
y: r * Math.sin(
|
|
1441
|
+
x: r * Math.cos(phase),
|
|
1442
|
+
y: r * Math.sin(phase)
|
|
1444
1443
|
};
|
|
1445
1444
|
}
|
|
1446
1445
|
var rose3 = {
|
|
@@ -1452,11 +1451,11 @@ var rose3 = {
|
|
|
1452
1451
|
|
|
1453
1452
|
// src/curves/rose5.ts
|
|
1454
1453
|
var TWO_PI10 = Math.PI * 2;
|
|
1455
|
-
function rose5Fn(
|
|
1456
|
-
const r = Math.cos(5 *
|
|
1454
|
+
function rose5Fn(phase, _elapsed, _params) {
|
|
1455
|
+
const r = Math.cos(5 * phase);
|
|
1457
1456
|
return {
|
|
1458
|
-
x: r * Math.cos(
|
|
1459
|
-
y: r * Math.sin(
|
|
1457
|
+
x: r * Math.cos(phase),
|
|
1458
|
+
y: r * Math.sin(phase)
|
|
1460
1459
|
};
|
|
1461
1460
|
}
|
|
1462
1461
|
var rose5 = {
|
|
@@ -1468,11 +1467,11 @@ var rose5 = {
|
|
|
1468
1467
|
|
|
1469
1468
|
// src/curves/rose52.ts
|
|
1470
1469
|
var FOUR_PI = Math.PI * 4;
|
|
1471
|
-
function rose52Fn(
|
|
1472
|
-
const r = Math.cos(5 / 2 *
|
|
1470
|
+
function rose52Fn(phase, _elapsed, _params) {
|
|
1471
|
+
const r = Math.cos(5 / 2 * phase);
|
|
1473
1472
|
return {
|
|
1474
|
-
x: r * Math.cos(
|
|
1475
|
-
y: r * Math.sin(
|
|
1473
|
+
x: r * Math.cos(phase),
|
|
1474
|
+
y: r * Math.sin(phase)
|
|
1476
1475
|
};
|
|
1477
1476
|
}
|
|
1478
1477
|
var rose52 = {
|
|
@@ -1484,11 +1483,11 @@ var rose52 = {
|
|
|
1484
1483
|
|
|
1485
1484
|
// src/curves/star.ts
|
|
1486
1485
|
var TWO_PI11 = Math.PI * 2;
|
|
1487
|
-
function starFn(
|
|
1488
|
-
const r = Math.abs(Math.cos(5 / 2 *
|
|
1486
|
+
function starFn(phase, _elapsed, _params) {
|
|
1487
|
+
const r = Math.abs(Math.cos(5 / 2 * phase)) + 0.35 * Math.abs(Math.cos(15 / 2 * phase)) + 0.15 * Math.abs(Math.cos(25 / 2 * phase));
|
|
1489
1488
|
return {
|
|
1490
|
-
x: r * Math.cos(
|
|
1491
|
-
y: r * Math.sin(
|
|
1489
|
+
x: r * Math.cos(phase),
|
|
1490
|
+
y: r * Math.sin(phase)
|
|
1492
1491
|
};
|
|
1493
1492
|
}
|
|
1494
1493
|
var star = {
|
|
@@ -1500,11 +1499,11 @@ var star = {
|
|
|
1500
1499
|
|
|
1501
1500
|
// src/curves/star4.ts
|
|
1502
1501
|
var TWO_PI12 = Math.PI * 2;
|
|
1503
|
-
function star4Fn(
|
|
1504
|
-
const r = Math.abs(Math.cos(2 *
|
|
1502
|
+
function star4Fn(phase, _elapsed, _params) {
|
|
1503
|
+
const r = Math.abs(Math.cos(2 * phase)) + 0.35 * Math.abs(Math.cos(6 * phase)) + 0.15 * Math.abs(Math.cos(10 * phase));
|
|
1505
1504
|
return {
|
|
1506
|
-
x: r * Math.cos(
|
|
1507
|
-
y: r * Math.sin(
|
|
1505
|
+
x: r * Math.cos(phase),
|
|
1506
|
+
y: r * Math.sin(phase)
|
|
1508
1507
|
};
|
|
1509
1508
|
}
|
|
1510
1509
|
var star4 = {
|
|
@@ -1516,11 +1515,11 @@ var star4 = {
|
|
|
1516
1515
|
|
|
1517
1516
|
// src/curves/star7.ts
|
|
1518
1517
|
var TWO_PI13 = Math.PI * 2;
|
|
1519
|
-
function star7Fn(
|
|
1520
|
-
const r = Math.abs(Math.cos(7 / 2 *
|
|
1518
|
+
function star7Fn(phase, _elapsed, _params) {
|
|
1519
|
+
const r = Math.abs(Math.cos(7 / 2 * phase)) + 0.35 * Math.abs(Math.cos(21 / 2 * phase)) + 0.15 * Math.abs(Math.cos(35 / 2 * phase));
|
|
1521
1520
|
return {
|
|
1522
|
-
x: r * Math.cos(
|
|
1523
|
-
y: r * Math.sin(
|
|
1521
|
+
x: r * Math.cos(phase),
|
|
1522
|
+
y: r * Math.sin(phase)
|
|
1524
1523
|
};
|
|
1525
1524
|
}
|
|
1526
1525
|
var star7 = {
|