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