sketchmark 1.1.2 → 1.1.3
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/animation/index.d.ts +5 -0
- package/dist/animation/index.d.ts.map +1 -1
- package/dist/index.cjs +26 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +26 -9
- package/dist/index.js.map +1 -1
- package/dist/sketchmark.iife.js +26 -9
- package/package.json +71 -72
|
@@ -20,6 +20,7 @@ export declare class AnimationController {
|
|
|
20
20
|
private _config?;
|
|
21
21
|
private _step;
|
|
22
22
|
private _pendingStepTimers;
|
|
23
|
+
private _pendingNarrationTimers;
|
|
23
24
|
private _transforms;
|
|
24
25
|
private _listeners;
|
|
25
26
|
readonly drawTargetEdges: Set<string>;
|
|
@@ -34,6 +35,7 @@ export declare class AnimationController {
|
|
|
34
35
|
private readonly _groupDescendantIds;
|
|
35
36
|
private _captionEl;
|
|
36
37
|
private _captionTextEl;
|
|
38
|
+
private _narrationRunId;
|
|
37
39
|
private _annotationLayer;
|
|
38
40
|
private _annotations;
|
|
39
41
|
private _pointerEl;
|
|
@@ -67,7 +69,10 @@ export declare class AnimationController {
|
|
|
67
69
|
prev(): boolean;
|
|
68
70
|
play(msPerStep?: number): Promise<void>;
|
|
69
71
|
goTo(index: number): void;
|
|
72
|
+
private _clearTimerBucket;
|
|
70
73
|
private _clearPendingStepTimers;
|
|
74
|
+
private _cancelNarrationTyping;
|
|
75
|
+
private _scheduleTimer;
|
|
71
76
|
private _scheduleStep;
|
|
72
77
|
private _stepWaitMs;
|
|
73
78
|
private _playbackWaitMs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/animation/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,cAAc,CAAC;AAGlE,MAAM,MAAM,kBAAkB,GAC1B,aAAa,GACb,eAAe,GACf,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,CAAC;AACpB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;AAoZ5D,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAQtE;AACD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAOtE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAOvE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAOtE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAOvE;AAsKD,qBAAa,mBAAmB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/animation/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -9248,11 +9248,13 @@ class AnimationController {
|
|
|
9248
9248
|
this._config = _config;
|
|
9249
9249
|
this._step = -1;
|
|
9250
9250
|
this._pendingStepTimers = new Set();
|
|
9251
|
+
this._pendingNarrationTimers = new Set();
|
|
9251
9252
|
this._transforms = new Map();
|
|
9252
9253
|
this._listeners = [];
|
|
9253
9254
|
// ── Narration caption ──
|
|
9254
9255
|
this._captionEl = null;
|
|
9255
9256
|
this._captionTextEl = null;
|
|
9257
|
+
this._narrationRunId = 0;
|
|
9256
9258
|
// ── Annotations ──
|
|
9257
9259
|
this._annotationLayer = null;
|
|
9258
9260
|
this._annotations = [];
|
|
@@ -9515,20 +9517,30 @@ class AnimationController {
|
|
|
9515
9517
|
}
|
|
9516
9518
|
this.emit("step-change");
|
|
9517
9519
|
}
|
|
9520
|
+
_clearTimerBucket(bucket) {
|
|
9521
|
+
bucket.forEach((id) => window.clearTimeout(id));
|
|
9522
|
+
bucket.clear();
|
|
9523
|
+
}
|
|
9518
9524
|
_clearPendingStepTimers() {
|
|
9519
|
-
this.
|
|
9520
|
-
this._pendingStepTimers.clear();
|
|
9525
|
+
this._clearTimerBucket(this._pendingStepTimers);
|
|
9521
9526
|
}
|
|
9522
|
-
|
|
9527
|
+
_cancelNarrationTyping() {
|
|
9528
|
+
this._narrationRunId += 1;
|
|
9529
|
+
this._clearTimerBucket(this._pendingNarrationTimers);
|
|
9530
|
+
}
|
|
9531
|
+
_scheduleTimer(fn, delayMs, bucket = this._pendingStepTimers) {
|
|
9523
9532
|
if (delayMs <= 0) {
|
|
9524
9533
|
fn();
|
|
9525
9534
|
return;
|
|
9526
9535
|
}
|
|
9527
9536
|
const id = window.setTimeout(() => {
|
|
9528
|
-
|
|
9537
|
+
bucket.delete(id);
|
|
9529
9538
|
fn();
|
|
9530
9539
|
}, delayMs);
|
|
9531
|
-
|
|
9540
|
+
bucket.add(id);
|
|
9541
|
+
}
|
|
9542
|
+
_scheduleStep(fn, delayMs) {
|
|
9543
|
+
this._scheduleTimer(fn, delayMs, this._pendingStepTimers);
|
|
9532
9544
|
}
|
|
9533
9545
|
_stepWaitMs(step, fallbackMs) {
|
|
9534
9546
|
const delay = Math.max(0, step.delay ?? 0);
|
|
@@ -9572,6 +9584,7 @@ class AnimationController {
|
|
|
9572
9584
|
}
|
|
9573
9585
|
_clearAll() {
|
|
9574
9586
|
this._clearPendingStepTimers();
|
|
9587
|
+
this._cancelNarrationTyping();
|
|
9575
9588
|
this._cancelSpeech();
|
|
9576
9589
|
this._transforms.clear();
|
|
9577
9590
|
// Nodes
|
|
@@ -10126,6 +10139,7 @@ class AnimationController {
|
|
|
10126
10139
|
_doNarrate(text, silent) {
|
|
10127
10140
|
if (!this._captionEl || !this._captionTextEl)
|
|
10128
10141
|
return;
|
|
10142
|
+
this._cancelNarrationTyping();
|
|
10129
10143
|
this._captionEl.style.opacity = "1";
|
|
10130
10144
|
if (silent || !text) {
|
|
10131
10145
|
this._captionTextEl.textContent = text;
|
|
@@ -10136,12 +10150,16 @@ class AnimationController {
|
|
|
10136
10150
|
this._speak(text);
|
|
10137
10151
|
// Typing effect
|
|
10138
10152
|
this._captionTextEl.textContent = "";
|
|
10153
|
+
const narrationRunId = this._narrationRunId;
|
|
10139
10154
|
let charIdx = 0;
|
|
10140
10155
|
const typeNext = () => {
|
|
10156
|
+
if (this._narrationRunId !== narrationRunId || !this._captionTextEl)
|
|
10157
|
+
return;
|
|
10141
10158
|
if (charIdx < text.length) {
|
|
10142
10159
|
this._captionTextEl.textContent += text[charIdx++];
|
|
10143
|
-
|
|
10144
|
-
|
|
10160
|
+
if (charIdx < text.length) {
|
|
10161
|
+
this._scheduleTimer(typeNext, ANIMATION.narrationTypeMs, this._pendingNarrationTimers);
|
|
10162
|
+
}
|
|
10145
10163
|
}
|
|
10146
10164
|
};
|
|
10147
10165
|
typeNext();
|
|
@@ -10251,12 +10269,11 @@ class AnimationController {
|
|
|
10251
10269
|
requestAnimationFrame(animate);
|
|
10252
10270
|
}
|
|
10253
10271
|
// After guide finishes: reveal rough.js element, remove guide
|
|
10254
|
-
|
|
10272
|
+
this._scheduleTimer(() => {
|
|
10255
10273
|
roughEl.style.transition = `opacity 120ms ease`;
|
|
10256
10274
|
roughEl.style.opacity = "1";
|
|
10257
10275
|
guide.remove();
|
|
10258
10276
|
}, dur + 30);
|
|
10259
|
-
this._pendingStepTimers.add(id);
|
|
10260
10277
|
}));
|
|
10261
10278
|
}
|
|
10262
10279
|
_doAnnotationCircle(target, silent) {
|