@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/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,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
|
},
|
|
@@ -754,8 +755,8 @@ function createRenderer(options) {
|
|
|
754
755
|
if (!engine.isLiveSkeleton) {
|
|
755
756
|
buildSkeletonCanvas();
|
|
756
757
|
}
|
|
757
|
-
if (options.
|
|
758
|
-
engine.seek(options.
|
|
758
|
+
if (options.initialPhase !== void 0) {
|
|
759
|
+
engine.seek(options.initialPhase);
|
|
759
760
|
}
|
|
760
761
|
renderFrame(0);
|
|
761
762
|
const shouldAutoStart = options.autoStart !== false;
|
|
@@ -889,8 +890,10 @@ function sampleCurveSkeleton(curveDef) {
|
|
|
889
890
|
const samples = Math.ceil(period * 50);
|
|
890
891
|
const pts = Array.from({ length: samples });
|
|
891
892
|
for (let i = 0; i < samples; i++) {
|
|
892
|
-
const
|
|
893
|
-
pts[i] = curveDef.skeletonFn
|
|
893
|
+
const phase = (i / (samples - 1)) * period;
|
|
894
|
+
pts[i] = curveDef.skeletonFn
|
|
895
|
+
? curveDef.skeletonFn(phase)
|
|
896
|
+
: curveDef.fn(phase, 0, EMPTY_PARAMS2);
|
|
894
897
|
}
|
|
895
898
|
return pts;
|
|
896
899
|
}
|
|
@@ -1101,8 +1104,8 @@ function createSVGRenderer(options) {
|
|
|
1101
1104
|
animationId = requestAnimationFrame(loop);
|
|
1102
1105
|
}
|
|
1103
1106
|
}
|
|
1104
|
-
if (options.
|
|
1105
|
-
engine.seek(options.
|
|
1107
|
+
if (options.initialPhase !== void 0) {
|
|
1108
|
+
engine.seek(options.initialPhase);
|
|
1106
1109
|
}
|
|
1107
1110
|
renderFrame(0);
|
|
1108
1111
|
const shouldAutoStart = options.autoStart !== false;
|
|
@@ -1258,7 +1261,7 @@ function catmullRom1D(p0, p1, p2, p3, u) {
|
|
|
1258
1261
|
(-p0 + 3 * p1 - 3 * p2 + p3) * u3)
|
|
1259
1262
|
);
|
|
1260
1263
|
}
|
|
1261
|
-
function evaluateCatmullRom(points2,
|
|
1264
|
+
function evaluateCatmullRom(points2, phase) {
|
|
1262
1265
|
const N = points2.length;
|
|
1263
1266
|
if (N === 0) {
|
|
1264
1267
|
return { x: 0, y: 0 };
|
|
@@ -1266,13 +1269,13 @@ function evaluateCatmullRom(points2, t) {
|
|
|
1266
1269
|
if (N === 1) {
|
|
1267
1270
|
return { x: points2[0][0], y: points2[0][1] };
|
|
1268
1271
|
}
|
|
1269
|
-
|
|
1272
|
+
phase = ((phase % PERIOD) + PERIOD) % PERIOD;
|
|
1270
1273
|
const segmentSize = PERIOD / N;
|
|
1271
|
-
let i = Math.floor(
|
|
1274
|
+
let i = Math.floor(phase / segmentSize);
|
|
1272
1275
|
if (i >= N) {
|
|
1273
1276
|
i = N - 1;
|
|
1274
1277
|
}
|
|
1275
|
-
let u = (
|
|
1278
|
+
let u = (phase - i * segmentSize) / segmentSize;
|
|
1276
1279
|
u = Math.max(0, Math.min(1, u));
|
|
1277
1280
|
const p0 = points2[(i - 1 + N) % N];
|
|
1278
1281
|
const p1 = points2[i];
|
|
@@ -1302,7 +1305,7 @@ function drawCurve(points2, opts) {
|
|
|
1302
1305
|
const pts = points2.map(([x, y]) => [x, y]);
|
|
1303
1306
|
return {
|
|
1304
1307
|
name: opts?.name ?? "drawn",
|
|
1305
|
-
fn: (
|
|
1308
|
+
fn: (phase) => evaluateCatmullRom(pts, phase),
|
|
1306
1309
|
period: PERIOD,
|
|
1307
1310
|
};
|
|
1308
1311
|
}
|
|
@@ -1338,9 +1341,9 @@ var artemis2 = {
|
|
|
1338
1341
|
|
|
1339
1342
|
// src/curves/astroid.ts
|
|
1340
1343
|
var TWO_PI2 = Math.PI * 2;
|
|
1341
|
-
function astroidFn(
|
|
1342
|
-
const c = Math.cos(
|
|
1343
|
-
const s = Math.sin(
|
|
1344
|
+
function astroidFn(phase, _elapsed, _params) {
|
|
1345
|
+
const c = Math.cos(phase);
|
|
1346
|
+
const s = Math.sin(phase);
|
|
1344
1347
|
return {
|
|
1345
1348
|
x: c * c * c,
|
|
1346
1349
|
y: s * s * s,
|
|
@@ -1355,10 +1358,10 @@ var astroid = {
|
|
|
1355
1358
|
|
|
1356
1359
|
// src/curves/deltoid.ts
|
|
1357
1360
|
var TWO_PI3 = Math.PI * 2;
|
|
1358
|
-
function deltoidFn(
|
|
1361
|
+
function deltoidFn(phase, _elapsed, _params) {
|
|
1359
1362
|
return {
|
|
1360
|
-
x: 2 * Math.cos(
|
|
1361
|
-
y: 2 * Math.sin(
|
|
1363
|
+
x: 2 * Math.cos(phase) + Math.cos(2 * phase),
|
|
1364
|
+
y: 2 * Math.sin(phase) - Math.sin(2 * phase),
|
|
1362
1365
|
};
|
|
1363
1366
|
}
|
|
1364
1367
|
var deltoid = {
|
|
@@ -1370,10 +1373,10 @@ var deltoid = {
|
|
|
1370
1373
|
|
|
1371
1374
|
// src/curves/epicycloid3.ts
|
|
1372
1375
|
var TWO_PI4 = Math.PI * 2;
|
|
1373
|
-
function epicycloid3Fn(
|
|
1376
|
+
function epicycloid3Fn(phase, _elapsed, _params) {
|
|
1374
1377
|
return {
|
|
1375
|
-
x: 4 * Math.cos(
|
|
1376
|
-
y: 4 * Math.sin(
|
|
1378
|
+
x: 4 * Math.cos(phase) - Math.cos(4 * phase),
|
|
1379
|
+
y: 4 * Math.sin(phase) - Math.sin(4 * phase),
|
|
1377
1380
|
};
|
|
1378
1381
|
}
|
|
1379
1382
|
var epicycloid3 = {
|
|
@@ -1385,18 +1388,18 @@ var epicycloid3 = {
|
|
|
1385
1388
|
|
|
1386
1389
|
// src/curves/epitrochoid7.ts
|
|
1387
1390
|
var TWO_PI5 = Math.PI * 2;
|
|
1388
|
-
function epitrochoid7Fn(
|
|
1389
|
-
const d = 1 + 0.55 * Math.sin(
|
|
1391
|
+
function epitrochoid7Fn(phase, _elapsed, _params) {
|
|
1392
|
+
const d = 1 + 0.55 * Math.sin(phase * 0.5);
|
|
1390
1393
|
return {
|
|
1391
|
-
x: 7 * Math.cos(
|
|
1392
|
-
y: 7 * Math.sin(
|
|
1394
|
+
x: 7 * Math.cos(phase) - d * Math.cos(7 * phase),
|
|
1395
|
+
y: 7 * Math.sin(phase) - d * Math.sin(7 * phase),
|
|
1393
1396
|
};
|
|
1394
1397
|
}
|
|
1395
|
-
function epitrochoid7SkeletonFn(
|
|
1398
|
+
function epitrochoid7SkeletonFn(phase) {
|
|
1396
1399
|
const d = 1.275;
|
|
1397
1400
|
return {
|
|
1398
|
-
x: 7 * Math.cos(
|
|
1399
|
-
y: 7 * Math.sin(
|
|
1401
|
+
x: 7 * Math.cos(phase) - d * Math.cos(7 * phase),
|
|
1402
|
+
y: 7 * Math.sin(phase) - d * Math.sin(7 * phase),
|
|
1400
1403
|
};
|
|
1401
1404
|
}
|
|
1402
1405
|
var epitrochoid7 = {
|
|
@@ -1409,11 +1412,11 @@ var epitrochoid7 = {
|
|
|
1409
1412
|
|
|
1410
1413
|
// src/curves/lissajous32.ts
|
|
1411
1414
|
var TWO_PI6 = Math.PI * 2;
|
|
1412
|
-
function lissajous32Fn(
|
|
1413
|
-
const phi =
|
|
1415
|
+
function lissajous32Fn(phase, elapsed, _params) {
|
|
1416
|
+
const phi = elapsed * 0.45;
|
|
1414
1417
|
return {
|
|
1415
|
-
x: Math.sin(3 *
|
|
1416
|
-
y: Math.sin(2 *
|
|
1418
|
+
x: Math.sin(3 * phase + phi),
|
|
1419
|
+
y: Math.sin(2 * phase),
|
|
1417
1420
|
};
|
|
1418
1421
|
}
|
|
1419
1422
|
var lissajous32 = {
|
|
@@ -1426,11 +1429,11 @@ var lissajous32 = {
|
|
|
1426
1429
|
|
|
1427
1430
|
// src/curves/lissajous43.ts
|
|
1428
1431
|
var TWO_PI7 = Math.PI * 2;
|
|
1429
|
-
function lissajous43Fn(
|
|
1430
|
-
const phi =
|
|
1432
|
+
function lissajous43Fn(phase, elapsed, _params) {
|
|
1433
|
+
const phi = elapsed * 0.38;
|
|
1431
1434
|
return {
|
|
1432
|
-
x: Math.sin(4 *
|
|
1433
|
-
y: Math.sin(3 *
|
|
1435
|
+
x: Math.sin(4 * phase + phi),
|
|
1436
|
+
y: Math.sin(3 * phase),
|
|
1434
1437
|
};
|
|
1435
1438
|
}
|
|
1436
1439
|
var lissajous43 = {
|
|
@@ -1443,10 +1446,10 @@ var lissajous43 = {
|
|
|
1443
1446
|
|
|
1444
1447
|
// src/curves/lame.ts
|
|
1445
1448
|
var TWO_PI8 = Math.PI * 2;
|
|
1446
|
-
function lameFn(
|
|
1447
|
-
const p = 1.75 + 1.25 * Math.sin(
|
|
1448
|
-
const c = Math.cos(
|
|
1449
|
-
s = Math.sin(
|
|
1449
|
+
function lameFn(phase, elapsed, _params) {
|
|
1450
|
+
const p = 1.75 + 1.25 * Math.sin(elapsed * 0.48);
|
|
1451
|
+
const c = Math.cos(phase),
|
|
1452
|
+
s = Math.sin(phase);
|
|
1450
1453
|
return {
|
|
1451
1454
|
x: Math.sign(c) * Math.pow(Math.abs(c), p),
|
|
1452
1455
|
y: Math.sign(s) * Math.pow(Math.abs(s), p),
|
|
@@ -1462,11 +1465,11 @@ var lame = {
|
|
|
1462
1465
|
|
|
1463
1466
|
// src/curves/rose3.ts
|
|
1464
1467
|
var TWO_PI9 = Math.PI * 2;
|
|
1465
|
-
function rose3Fn(
|
|
1466
|
-
const r = Math.cos(3 *
|
|
1468
|
+
function rose3Fn(phase, _elapsed, _params) {
|
|
1469
|
+
const r = Math.cos(3 * phase);
|
|
1467
1470
|
return {
|
|
1468
|
-
x: r * Math.cos(
|
|
1469
|
-
y: r * Math.sin(
|
|
1471
|
+
x: r * Math.cos(phase),
|
|
1472
|
+
y: r * Math.sin(phase),
|
|
1470
1473
|
};
|
|
1471
1474
|
}
|
|
1472
1475
|
var rose3 = {
|
|
@@ -1478,11 +1481,11 @@ var rose3 = {
|
|
|
1478
1481
|
|
|
1479
1482
|
// src/curves/rose5.ts
|
|
1480
1483
|
var TWO_PI10 = Math.PI * 2;
|
|
1481
|
-
function rose5Fn(
|
|
1482
|
-
const r = Math.cos(5 *
|
|
1484
|
+
function rose5Fn(phase, _elapsed, _params) {
|
|
1485
|
+
const r = Math.cos(5 * phase);
|
|
1483
1486
|
return {
|
|
1484
|
-
x: r * Math.cos(
|
|
1485
|
-
y: r * Math.sin(
|
|
1487
|
+
x: r * Math.cos(phase),
|
|
1488
|
+
y: r * Math.sin(phase),
|
|
1486
1489
|
};
|
|
1487
1490
|
}
|
|
1488
1491
|
var rose5 = {
|
|
@@ -1494,11 +1497,11 @@ var rose5 = {
|
|
|
1494
1497
|
|
|
1495
1498
|
// src/curves/rose52.ts
|
|
1496
1499
|
var FOUR_PI = Math.PI * 4;
|
|
1497
|
-
function rose52Fn(
|
|
1498
|
-
const r = Math.cos((5 / 2) *
|
|
1500
|
+
function rose52Fn(phase, _elapsed, _params) {
|
|
1501
|
+
const r = Math.cos((5 / 2) * phase);
|
|
1499
1502
|
return {
|
|
1500
|
-
x: r * Math.cos(
|
|
1501
|
-
y: r * Math.sin(
|
|
1503
|
+
x: r * Math.cos(phase),
|
|
1504
|
+
y: r * Math.sin(phase),
|
|
1502
1505
|
};
|
|
1503
1506
|
}
|
|
1504
1507
|
var rose52 = {
|
|
@@ -1510,14 +1513,14 @@ var rose52 = {
|
|
|
1510
1513
|
|
|
1511
1514
|
// src/curves/star.ts
|
|
1512
1515
|
var TWO_PI11 = Math.PI * 2;
|
|
1513
|
-
function starFn(
|
|
1516
|
+
function starFn(phase, _elapsed, _params) {
|
|
1514
1517
|
const r =
|
|
1515
|
-
Math.abs(Math.cos((5 / 2) *
|
|
1516
|
-
0.35 * Math.abs(Math.cos((15 / 2) *
|
|
1517
|
-
0.15 * Math.abs(Math.cos((25 / 2) *
|
|
1518
|
+
Math.abs(Math.cos((5 / 2) * phase)) +
|
|
1519
|
+
0.35 * Math.abs(Math.cos((15 / 2) * phase)) +
|
|
1520
|
+
0.15 * Math.abs(Math.cos((25 / 2) * phase));
|
|
1518
1521
|
return {
|
|
1519
|
-
x: r * Math.cos(
|
|
1520
|
-
y: r * Math.sin(
|
|
1522
|
+
x: r * Math.cos(phase),
|
|
1523
|
+
y: r * Math.sin(phase),
|
|
1521
1524
|
};
|
|
1522
1525
|
}
|
|
1523
1526
|
var star = {
|
|
@@ -1529,14 +1532,14 @@ var star = {
|
|
|
1529
1532
|
|
|
1530
1533
|
// src/curves/star4.ts
|
|
1531
1534
|
var TWO_PI12 = Math.PI * 2;
|
|
1532
|
-
function star4Fn(
|
|
1535
|
+
function star4Fn(phase, _elapsed, _params) {
|
|
1533
1536
|
const r =
|
|
1534
|
-
Math.abs(Math.cos(2 *
|
|
1535
|
-
0.35 * Math.abs(Math.cos(6 *
|
|
1536
|
-
0.15 * Math.abs(Math.cos(10 *
|
|
1537
|
+
Math.abs(Math.cos(2 * phase)) +
|
|
1538
|
+
0.35 * Math.abs(Math.cos(6 * phase)) +
|
|
1539
|
+
0.15 * Math.abs(Math.cos(10 * phase));
|
|
1537
1540
|
return {
|
|
1538
|
-
x: r * Math.cos(
|
|
1539
|
-
y: r * Math.sin(
|
|
1541
|
+
x: r * Math.cos(phase),
|
|
1542
|
+
y: r * Math.sin(phase),
|
|
1540
1543
|
};
|
|
1541
1544
|
}
|
|
1542
1545
|
var star4 = {
|
|
@@ -1548,14 +1551,14 @@ var star4 = {
|
|
|
1548
1551
|
|
|
1549
1552
|
// src/curves/star7.ts
|
|
1550
1553
|
var TWO_PI13 = Math.PI * 2;
|
|
1551
|
-
function star7Fn(
|
|
1554
|
+
function star7Fn(phase, _elapsed, _params) {
|
|
1552
1555
|
const r =
|
|
1553
|
-
Math.abs(Math.cos((7 / 2) *
|
|
1554
|
-
0.35 * Math.abs(Math.cos((21 / 2) *
|
|
1555
|
-
0.15 * Math.abs(Math.cos((35 / 2) *
|
|
1556
|
+
Math.abs(Math.cos((7 / 2) * phase)) +
|
|
1557
|
+
0.35 * Math.abs(Math.cos((21 / 2) * phase)) +
|
|
1558
|
+
0.15 * Math.abs(Math.cos((35 / 2) * phase));
|
|
1556
1559
|
return {
|
|
1557
|
-
x: r * Math.cos(
|
|
1558
|
-
y: r * Math.sin(
|
|
1560
|
+
x: r * Math.cos(phase),
|
|
1561
|
+
y: r * Math.sin(phase),
|
|
1559
1562
|
};
|
|
1560
1563
|
}
|
|
1561
1564
|
var star7 = {
|