@sarmal/core 0.25.1 → 0.27.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 +107 -104
- package/dist/auto-init.cjs.map +1 -1
- package/dist/auto-init.js +107 -104
- package/dist/auto-init.js.map +1 -1
- package/dist/cli.js +1048 -0
- package/dist/cli.js.map +1 -0
- package/dist/curves/artemis2.cjs +5 -5
- 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 +5 -5
- 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 +63 -63
- 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 +63 -63
- package/dist/curves/index.js.map +1 -1
- package/dist/curves/lame.cjs +4 -4
- 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 +4 -4
- 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 +6 -6
- 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 +6 -6
- package/dist/curves/star.js.map +1 -1
- package/dist/curves/star4.cjs +6 -6
- 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 +6 -6
- package/dist/curves/star4.js.map +1 -1
- package/dist/curves/star7.cjs +6 -6
- 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 +6 -6
- package/dist/curves/star7.js.map +1 -1
- package/dist/index.cjs +107 -104
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -45
- package/dist/index.d.ts +13 -45
- package/dist/index.js +107 -104
- package/dist/index.js.map +1 -1
- package/dist/renderer-shared-OR--cv-t.d.ts +49 -0
- package/dist/renderer-shared-jqw_Q1WO.d.cts +49 -0
- package/dist/terminal.cjs +593 -0
- package/dist/terminal.cjs.map +1 -0
- package/dist/terminal.d.cts +44 -0
- package/dist/terminal.d.ts +44 -0
- package/dist/terminal.js +585 -0
- package/dist/terminal.js.map +1 -0
- package/dist/{types-Z9i1_AQZ.d.cts → types-zbxUgcmZ.d.cts} +30 -30
- package/dist/{types-Z9i1_AQZ.d.ts → types-zbxUgcmZ.d.ts} +30 -30
- package/package.json +11 -1
package/dist/index.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,16 @@ 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
|
-
|
|
112
|
+
const a = curve.fn(phase, actualTime, EMPTY_PARAMS);
|
|
113
|
+
const phaseB =
|
|
114
|
+
_morphStrategy === "normalized" ? (phase / curve.period) * morphCurveB.period : phase;
|
|
115
|
+
const b = morphCurveB.fn(phaseB, actualTime, EMPTY_PARAMS);
|
|
115
116
|
trail.push(a.x + (b.x - a.x) * _morphAlpha, a.y + (b.y - a.y) * _morphAlpha);
|
|
116
117
|
} else {
|
|
117
|
-
const point = curve.fn(
|
|
118
|
+
const point = curve.fn(phase, actualTime, EMPTY_PARAMS);
|
|
118
119
|
trail.push(point.x, point.y);
|
|
119
120
|
}
|
|
120
121
|
return trail.toArray();
|
|
@@ -132,30 +133,30 @@ function createEngine(curveDef, trailLength = 120) {
|
|
|
132
133
|
return _morphAlpha;
|
|
133
134
|
},
|
|
134
135
|
reset() {
|
|
135
|
-
|
|
136
|
+
phase = 0;
|
|
136
137
|
actualTime = 0;
|
|
137
138
|
trail.clear();
|
|
138
139
|
},
|
|
139
|
-
jump(
|
|
140
|
-
|
|
140
|
+
jump(newPhase, { clearTrail = false } = {}) {
|
|
141
|
+
phase = ((newPhase % curve.period) + curve.period) % curve.period;
|
|
141
142
|
if (clearTrail) {
|
|
142
143
|
trail.clear();
|
|
143
144
|
}
|
|
144
145
|
},
|
|
145
|
-
seek(
|
|
146
|
+
seek(targetPhase, { wrap = false, step = curve.period / trailLength } = {}) {
|
|
146
147
|
const advance = curve.speed * step;
|
|
147
|
-
const target = ((
|
|
148
|
+
const target = ((targetPhase % curve.period) + curve.period) % curve.period;
|
|
148
149
|
const targetTime = target / curve.speed;
|
|
149
|
-
|
|
150
|
+
phase = target;
|
|
150
151
|
actualTime = targetTime;
|
|
151
152
|
trail.clear();
|
|
152
153
|
const pointsFromStart = Math.floor(target / advance) + 1;
|
|
153
154
|
const count = wrap ? trailLength : Math.min(trailLength, pointsFromStart);
|
|
154
155
|
for (let i = count - 1; i >= 0; i--) {
|
|
155
|
-
const
|
|
156
|
-
const
|
|
157
|
-
const
|
|
158
|
-
const point = curve.fn(
|
|
156
|
+
const samplePhase = target - i * advance;
|
|
157
|
+
const wrappedPhase = ((samplePhase % curve.period) + curve.period) % curve.period;
|
|
158
|
+
const elapsed = targetTime - i * step;
|
|
159
|
+
const point = curve.fn(wrappedPhase, elapsed, EMPTY_PARAMS);
|
|
159
160
|
trail.push(point.x, point.y);
|
|
160
161
|
}
|
|
161
162
|
},
|
|
@@ -168,13 +169,13 @@ function createEngine(curveDef, trailLength = 120) {
|
|
|
168
169
|
const frozenStrategy = _morphStrategy;
|
|
169
170
|
curve = {
|
|
170
171
|
...frozenB,
|
|
171
|
-
fn: (
|
|
172
|
-
const a = frozenA.fn(
|
|
173
|
-
const
|
|
172
|
+
fn: (samplePhase, elapsed, params) => {
|
|
173
|
+
const a = frozenA.fn(samplePhase, elapsed, params);
|
|
174
|
+
const phaseB =
|
|
174
175
|
frozenStrategy === "normalized"
|
|
175
|
-
? (
|
|
176
|
-
:
|
|
177
|
-
const b = frozenB.fn(
|
|
176
|
+
? (samplePhase / frozenA.period) * frozenB.period
|
|
177
|
+
: samplePhase;
|
|
178
|
+
const b = frozenB.fn(phaseB, elapsed, params);
|
|
178
179
|
return {
|
|
179
180
|
x: a.x + (b.x - a.x) * frozenAlpha,
|
|
180
181
|
y: a.y + (b.y - a.y) * frozenAlpha,
|
|
@@ -192,7 +193,7 @@ function createEngine(curveDef, trailLength = 120) {
|
|
|
192
193
|
completeMorph() {
|
|
193
194
|
if (morphCurveB !== null) {
|
|
194
195
|
if (_morphStrategy === "normalized" && curve.period !== morphCurveB.period) {
|
|
195
|
-
|
|
196
|
+
phase = (phase / curve.period) * morphCurveB.period;
|
|
196
197
|
}
|
|
197
198
|
curve = morphCurveB;
|
|
198
199
|
}
|
|
@@ -204,13 +205,13 @@ function createEngine(curveDef, trailLength = 120) {
|
|
|
204
205
|
const points2 = new Array(steps);
|
|
205
206
|
if (morphCurveB !== null && _morphAlpha !== null) {
|
|
206
207
|
for (let i = 0; i < steps; i++) {
|
|
207
|
-
const
|
|
208
|
-
const a = sampleSkeleton(curve,
|
|
209
|
-
const
|
|
208
|
+
const samplePhase = (i / (steps - 1)) * curve.period;
|
|
209
|
+
const a = sampleSkeleton(curve, samplePhase);
|
|
210
|
+
const phaseB =
|
|
210
211
|
_morphStrategy === "normalized"
|
|
211
|
-
? (
|
|
212
|
-
:
|
|
213
|
-
const b = sampleSkeleton(morphCurveB,
|
|
212
|
+
? (samplePhase / curve.period) * morphCurveB.period
|
|
213
|
+
: samplePhase;
|
|
214
|
+
const b = sampleSkeleton(morphCurveB, phaseB);
|
|
214
215
|
points2[i] = {
|
|
215
216
|
x: a.x + (b.x - a.x) * _morphAlpha,
|
|
216
217
|
y: a.y + (b.y - a.y) * _morphAlpha,
|
|
@@ -219,8 +220,8 @@ function createEngine(curveDef, trailLength = 120) {
|
|
|
219
220
|
return points2;
|
|
220
221
|
}
|
|
221
222
|
for (let i = 0; i < steps; i++) {
|
|
222
|
-
const
|
|
223
|
-
points2[i] = sampleSkeleton(curve,
|
|
223
|
+
const samplePhase = (i / (steps - 1)) * curve.period;
|
|
224
|
+
points2[i] = sampleSkeleton(curve, samplePhase);
|
|
224
225
|
}
|
|
225
226
|
return points2;
|
|
226
227
|
},
|
|
@@ -762,8 +763,8 @@ function createRenderer(options) {
|
|
|
762
763
|
if (!engine.isLiveSkeleton) {
|
|
763
764
|
buildSkeletonCanvas();
|
|
764
765
|
}
|
|
765
|
-
if (options.
|
|
766
|
-
engine.seek(options.
|
|
766
|
+
if (options.initialPhase !== void 0) {
|
|
767
|
+
engine.seek(options.initialPhase);
|
|
767
768
|
}
|
|
768
769
|
renderFrame(0);
|
|
769
770
|
const shouldAutoStart = options.autoStart !== false;
|
|
@@ -897,8 +898,10 @@ function sampleCurveSkeleton(curveDef) {
|
|
|
897
898
|
const samples = Math.ceil(period * 50);
|
|
898
899
|
const pts = Array.from({ length: samples });
|
|
899
900
|
for (let i = 0; i < samples; i++) {
|
|
900
|
-
const
|
|
901
|
-
pts[i] = curveDef.skeletonFn
|
|
901
|
+
const phase = (i / (samples - 1)) * period;
|
|
902
|
+
pts[i] = curveDef.skeletonFn
|
|
903
|
+
? curveDef.skeletonFn(phase)
|
|
904
|
+
: curveDef.fn(phase, 0, EMPTY_PARAMS2);
|
|
902
905
|
}
|
|
903
906
|
return pts;
|
|
904
907
|
}
|
|
@@ -1109,8 +1112,8 @@ function createSVGRenderer(options) {
|
|
|
1109
1112
|
animationId = requestAnimationFrame(loop);
|
|
1110
1113
|
}
|
|
1111
1114
|
}
|
|
1112
|
-
if (options.
|
|
1113
|
-
engine.seek(options.
|
|
1115
|
+
if (options.initialPhase !== void 0) {
|
|
1116
|
+
engine.seek(options.initialPhase);
|
|
1114
1117
|
}
|
|
1115
1118
|
renderFrame(0);
|
|
1116
1119
|
const shouldAutoStart = options.autoStart !== false;
|
|
@@ -1266,7 +1269,7 @@ function catmullRom1D(p0, p1, p2, p3, u) {
|
|
|
1266
1269
|
(-p0 + 3 * p1 - 3 * p2 + p3) * u3)
|
|
1267
1270
|
);
|
|
1268
1271
|
}
|
|
1269
|
-
function evaluateCatmullRom(points2,
|
|
1272
|
+
function evaluateCatmullRom(points2, phase) {
|
|
1270
1273
|
const N = points2.length;
|
|
1271
1274
|
if (N === 0) {
|
|
1272
1275
|
return { x: 0, y: 0 };
|
|
@@ -1274,13 +1277,13 @@ function evaluateCatmullRom(points2, t) {
|
|
|
1274
1277
|
if (N === 1) {
|
|
1275
1278
|
return { x: points2[0][0], y: points2[0][1] };
|
|
1276
1279
|
}
|
|
1277
|
-
|
|
1280
|
+
phase = ((phase % PERIOD) + PERIOD) % PERIOD;
|
|
1278
1281
|
const segmentSize = PERIOD / N;
|
|
1279
|
-
let i = Math.floor(
|
|
1282
|
+
let i = Math.floor(phase / segmentSize);
|
|
1280
1283
|
if (i >= N) {
|
|
1281
1284
|
i = N - 1;
|
|
1282
1285
|
}
|
|
1283
|
-
let u = (
|
|
1286
|
+
let u = (phase - i * segmentSize) / segmentSize;
|
|
1284
1287
|
u = Math.max(0, Math.min(1, u));
|
|
1285
1288
|
const p0 = points2[(i - 1 + N) % N];
|
|
1286
1289
|
const p1 = points2[i];
|
|
@@ -1310,7 +1313,7 @@ function drawCurve(points2, opts) {
|
|
|
1310
1313
|
const pts = points2.map(([x, y]) => [x, y]);
|
|
1311
1314
|
return {
|
|
1312
1315
|
name: opts?.name ?? "drawn",
|
|
1313
|
-
fn: (
|
|
1316
|
+
fn: (phase) => evaluateCatmullRom(pts, phase),
|
|
1314
1317
|
period: PERIOD,
|
|
1315
1318
|
};
|
|
1316
1319
|
}
|
|
@@ -1346,9 +1349,9 @@ var artemis2 = {
|
|
|
1346
1349
|
|
|
1347
1350
|
// src/curves/astroid.ts
|
|
1348
1351
|
var TWO_PI2 = Math.PI * 2;
|
|
1349
|
-
function astroidFn(
|
|
1350
|
-
const c = Math.cos(
|
|
1351
|
-
const s = Math.sin(
|
|
1352
|
+
function astroidFn(phase, _elapsed, _params) {
|
|
1353
|
+
const c = Math.cos(phase);
|
|
1354
|
+
const s = Math.sin(phase);
|
|
1352
1355
|
return {
|
|
1353
1356
|
x: c * c * c,
|
|
1354
1357
|
y: s * s * s,
|
|
@@ -1363,10 +1366,10 @@ var astroid = {
|
|
|
1363
1366
|
|
|
1364
1367
|
// src/curves/deltoid.ts
|
|
1365
1368
|
var TWO_PI3 = Math.PI * 2;
|
|
1366
|
-
function deltoidFn(
|
|
1369
|
+
function deltoidFn(phase, _elapsed, _params) {
|
|
1367
1370
|
return {
|
|
1368
|
-
x: 2 * Math.cos(
|
|
1369
|
-
y: 2 * Math.sin(
|
|
1371
|
+
x: 2 * Math.cos(phase) + Math.cos(2 * phase),
|
|
1372
|
+
y: 2 * Math.sin(phase) - Math.sin(2 * phase),
|
|
1370
1373
|
};
|
|
1371
1374
|
}
|
|
1372
1375
|
var deltoid = {
|
|
@@ -1378,10 +1381,10 @@ var deltoid = {
|
|
|
1378
1381
|
|
|
1379
1382
|
// src/curves/epicycloid3.ts
|
|
1380
1383
|
var TWO_PI4 = Math.PI * 2;
|
|
1381
|
-
function epicycloid3Fn(
|
|
1384
|
+
function epicycloid3Fn(phase, _elapsed, _params) {
|
|
1382
1385
|
return {
|
|
1383
|
-
x: 4 * Math.cos(
|
|
1384
|
-
y: 4 * Math.sin(
|
|
1386
|
+
x: 4 * Math.cos(phase) - Math.cos(4 * phase),
|
|
1387
|
+
y: 4 * Math.sin(phase) - Math.sin(4 * phase),
|
|
1385
1388
|
};
|
|
1386
1389
|
}
|
|
1387
1390
|
var epicycloid3 = {
|
|
@@ -1393,18 +1396,18 @@ var epicycloid3 = {
|
|
|
1393
1396
|
|
|
1394
1397
|
// src/curves/epitrochoid7.ts
|
|
1395
1398
|
var TWO_PI5 = Math.PI * 2;
|
|
1396
|
-
function epitrochoid7Fn(
|
|
1397
|
-
const d = 1 + 0.55 * Math.sin(
|
|
1399
|
+
function epitrochoid7Fn(phase, _elapsed, _params) {
|
|
1400
|
+
const d = 1 + 0.55 * Math.sin(phase * 0.5);
|
|
1398
1401
|
return {
|
|
1399
|
-
x: 7 * Math.cos(
|
|
1400
|
-
y: 7 * Math.sin(
|
|
1402
|
+
x: 7 * Math.cos(phase) - d * Math.cos(7 * phase),
|
|
1403
|
+
y: 7 * Math.sin(phase) - d * Math.sin(7 * phase),
|
|
1401
1404
|
};
|
|
1402
1405
|
}
|
|
1403
|
-
function epitrochoid7SkeletonFn(
|
|
1406
|
+
function epitrochoid7SkeletonFn(phase) {
|
|
1404
1407
|
const d = 1.275;
|
|
1405
1408
|
return {
|
|
1406
|
-
x: 7 * Math.cos(
|
|
1407
|
-
y: 7 * Math.sin(
|
|
1409
|
+
x: 7 * Math.cos(phase) - d * Math.cos(7 * phase),
|
|
1410
|
+
y: 7 * Math.sin(phase) - d * Math.sin(7 * phase),
|
|
1408
1411
|
};
|
|
1409
1412
|
}
|
|
1410
1413
|
var epitrochoid7 = {
|
|
@@ -1417,11 +1420,11 @@ var epitrochoid7 = {
|
|
|
1417
1420
|
|
|
1418
1421
|
// src/curves/lissajous32.ts
|
|
1419
1422
|
var TWO_PI6 = Math.PI * 2;
|
|
1420
|
-
function lissajous32Fn(
|
|
1421
|
-
const phi =
|
|
1423
|
+
function lissajous32Fn(phase, elapsed, _params) {
|
|
1424
|
+
const phi = elapsed * 0.45;
|
|
1422
1425
|
return {
|
|
1423
|
-
x: Math.sin(3 *
|
|
1424
|
-
y: Math.sin(2 *
|
|
1426
|
+
x: Math.sin(3 * phase + phi),
|
|
1427
|
+
y: Math.sin(2 * phase),
|
|
1425
1428
|
};
|
|
1426
1429
|
}
|
|
1427
1430
|
var lissajous32 = {
|
|
@@ -1434,11 +1437,11 @@ var lissajous32 = {
|
|
|
1434
1437
|
|
|
1435
1438
|
// src/curves/lissajous43.ts
|
|
1436
1439
|
var TWO_PI7 = Math.PI * 2;
|
|
1437
|
-
function lissajous43Fn(
|
|
1438
|
-
const phi =
|
|
1440
|
+
function lissajous43Fn(phase, elapsed, _params) {
|
|
1441
|
+
const phi = elapsed * 0.38;
|
|
1439
1442
|
return {
|
|
1440
|
-
x: Math.sin(4 *
|
|
1441
|
-
y: Math.sin(3 *
|
|
1443
|
+
x: Math.sin(4 * phase + phi),
|
|
1444
|
+
y: Math.sin(3 * phase),
|
|
1442
1445
|
};
|
|
1443
1446
|
}
|
|
1444
1447
|
var lissajous43 = {
|
|
@@ -1451,10 +1454,10 @@ var lissajous43 = {
|
|
|
1451
1454
|
|
|
1452
1455
|
// src/curves/lame.ts
|
|
1453
1456
|
var TWO_PI8 = Math.PI * 2;
|
|
1454
|
-
function lameFn(
|
|
1455
|
-
const p = 1.75 + 1.25 * Math.sin(
|
|
1456
|
-
const c = Math.cos(
|
|
1457
|
-
s = Math.sin(
|
|
1457
|
+
function lameFn(phase, elapsed, _params) {
|
|
1458
|
+
const p = 1.75 + 1.25 * Math.sin(elapsed * 0.48);
|
|
1459
|
+
const c = Math.cos(phase),
|
|
1460
|
+
s = Math.sin(phase);
|
|
1458
1461
|
return {
|
|
1459
1462
|
x: Math.sign(c) * Math.pow(Math.abs(c), p),
|
|
1460
1463
|
y: Math.sign(s) * Math.pow(Math.abs(s), p),
|
|
@@ -1470,11 +1473,11 @@ var lame = {
|
|
|
1470
1473
|
|
|
1471
1474
|
// src/curves/rose3.ts
|
|
1472
1475
|
var TWO_PI9 = Math.PI * 2;
|
|
1473
|
-
function rose3Fn(
|
|
1474
|
-
const r = Math.cos(3 *
|
|
1476
|
+
function rose3Fn(phase, _elapsed, _params) {
|
|
1477
|
+
const r = Math.cos(3 * phase);
|
|
1475
1478
|
return {
|
|
1476
|
-
x: r * Math.cos(
|
|
1477
|
-
y: r * Math.sin(
|
|
1479
|
+
x: r * Math.cos(phase),
|
|
1480
|
+
y: r * Math.sin(phase),
|
|
1478
1481
|
};
|
|
1479
1482
|
}
|
|
1480
1483
|
var rose3 = {
|
|
@@ -1486,11 +1489,11 @@ var rose3 = {
|
|
|
1486
1489
|
|
|
1487
1490
|
// src/curves/rose5.ts
|
|
1488
1491
|
var TWO_PI10 = Math.PI * 2;
|
|
1489
|
-
function rose5Fn(
|
|
1490
|
-
const r = Math.cos(5 *
|
|
1492
|
+
function rose5Fn(phase, _elapsed, _params) {
|
|
1493
|
+
const r = Math.cos(5 * phase);
|
|
1491
1494
|
return {
|
|
1492
|
-
x: r * Math.cos(
|
|
1493
|
-
y: r * Math.sin(
|
|
1495
|
+
x: r * Math.cos(phase),
|
|
1496
|
+
y: r * Math.sin(phase),
|
|
1494
1497
|
};
|
|
1495
1498
|
}
|
|
1496
1499
|
var rose5 = {
|
|
@@ -1502,11 +1505,11 @@ var rose5 = {
|
|
|
1502
1505
|
|
|
1503
1506
|
// src/curves/rose52.ts
|
|
1504
1507
|
var FOUR_PI = Math.PI * 4;
|
|
1505
|
-
function rose52Fn(
|
|
1506
|
-
const r = Math.cos((5 / 2) *
|
|
1508
|
+
function rose52Fn(phase, _elapsed, _params) {
|
|
1509
|
+
const r = Math.cos((5 / 2) * phase);
|
|
1507
1510
|
return {
|
|
1508
|
-
x: r * Math.cos(
|
|
1509
|
-
y: r * Math.sin(
|
|
1511
|
+
x: r * Math.cos(phase),
|
|
1512
|
+
y: r * Math.sin(phase),
|
|
1510
1513
|
};
|
|
1511
1514
|
}
|
|
1512
1515
|
var rose52 = {
|
|
@@ -1518,14 +1521,14 @@ var rose52 = {
|
|
|
1518
1521
|
|
|
1519
1522
|
// src/curves/star.ts
|
|
1520
1523
|
var TWO_PI11 = Math.PI * 2;
|
|
1521
|
-
function starFn(
|
|
1524
|
+
function starFn(phase, _elapsed, _params) {
|
|
1522
1525
|
const r =
|
|
1523
|
-
Math.abs(Math.cos((5 / 2) *
|
|
1524
|
-
0.35 * Math.abs(Math.cos((15 / 2) *
|
|
1525
|
-
0.15 * Math.abs(Math.cos((25 / 2) *
|
|
1526
|
+
Math.abs(Math.cos((5 / 2) * phase)) +
|
|
1527
|
+
0.35 * Math.abs(Math.cos((15 / 2) * phase)) +
|
|
1528
|
+
0.15 * Math.abs(Math.cos((25 / 2) * phase));
|
|
1526
1529
|
return {
|
|
1527
|
-
x: r * Math.cos(
|
|
1528
|
-
y: r * Math.sin(
|
|
1530
|
+
x: r * Math.cos(phase),
|
|
1531
|
+
y: r * Math.sin(phase),
|
|
1529
1532
|
};
|
|
1530
1533
|
}
|
|
1531
1534
|
var star = {
|
|
@@ -1537,14 +1540,14 @@ var star = {
|
|
|
1537
1540
|
|
|
1538
1541
|
// src/curves/star4.ts
|
|
1539
1542
|
var TWO_PI12 = Math.PI * 2;
|
|
1540
|
-
function star4Fn(
|
|
1543
|
+
function star4Fn(phase, _elapsed, _params) {
|
|
1541
1544
|
const r =
|
|
1542
|
-
Math.abs(Math.cos(2 *
|
|
1543
|
-
0.35 * Math.abs(Math.cos(6 *
|
|
1544
|
-
0.15 * Math.abs(Math.cos(10 *
|
|
1545
|
+
Math.abs(Math.cos(2 * phase)) +
|
|
1546
|
+
0.35 * Math.abs(Math.cos(6 * phase)) +
|
|
1547
|
+
0.15 * Math.abs(Math.cos(10 * phase));
|
|
1545
1548
|
return {
|
|
1546
|
-
x: r * Math.cos(
|
|
1547
|
-
y: r * Math.sin(
|
|
1549
|
+
x: r * Math.cos(phase),
|
|
1550
|
+
y: r * Math.sin(phase),
|
|
1548
1551
|
};
|
|
1549
1552
|
}
|
|
1550
1553
|
var star4 = {
|
|
@@ -1556,14 +1559,14 @@ var star4 = {
|
|
|
1556
1559
|
|
|
1557
1560
|
// src/curves/star7.ts
|
|
1558
1561
|
var TWO_PI13 = Math.PI * 2;
|
|
1559
|
-
function star7Fn(
|
|
1562
|
+
function star7Fn(phase, _elapsed, _params) {
|
|
1560
1563
|
const r =
|
|
1561
|
-
Math.abs(Math.cos((7 / 2) *
|
|
1562
|
-
0.35 * Math.abs(Math.cos((21 / 2) *
|
|
1563
|
-
0.15 * Math.abs(Math.cos((35 / 2) *
|
|
1564
|
+
Math.abs(Math.cos((7 / 2) * phase)) +
|
|
1565
|
+
0.35 * Math.abs(Math.cos((21 / 2) * phase)) +
|
|
1566
|
+
0.15 * Math.abs(Math.cos((35 / 2) * phase));
|
|
1564
1567
|
return {
|
|
1565
|
-
x: r * Math.cos(
|
|
1566
|
-
y: r * Math.sin(
|
|
1568
|
+
x: r * Math.cos(phase),
|
|
1569
|
+
y: r * Math.sin(phase),
|
|
1567
1570
|
};
|
|
1568
1571
|
}
|
|
1569
1572
|
var star7 = {
|