sketchmark 1.3.5 → 1.3.6

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.
@@ -9992,8 +9992,12 @@ var AIDiagram = (function (exports) {
9992
9992
  this._rc = _rc;
9993
9993
  this._config = _config;
9994
9994
  this._step = -1;
9995
+ this._isPlaying = false;
9996
+ this._playRunId = 0;
9995
9997
  this._pendingStepTimers = new Set();
9996
9998
  this._pendingNarrationTimers = new Set();
9999
+ this._playbackDelayTimerId = null;
10000
+ this._resolvePlaybackDelay = null;
9997
10001
  this._transforms = new Map();
9998
10002
  this._listeners = [];
9999
10003
  // ── Narration caption ──
@@ -10009,6 +10013,7 @@ var AIDiagram = (function (exports) {
10009
10013
  // ── TTS ──
10010
10014
  this._tts = false;
10011
10015
  this._speechDone = null;
10016
+ this._resolveSpeechDone = null;
10012
10017
  this.drawTargetEdges = getDrawTargetEdgeIds(steps);
10013
10018
  this.drawTargetNodes = getDrawTargetNodeIds(steps);
10014
10019
  // Groups: non-edge draw steps whose target has a #group-{id} element in the SVG.
@@ -10232,6 +10237,9 @@ var AIDiagram = (function (exports) {
10232
10237
  get atEnd() {
10233
10238
  return this._step === this.steps.length - 1;
10234
10239
  }
10240
+ get isPlaying() {
10241
+ return this._isPlaying;
10242
+ }
10235
10243
  on(listener) {
10236
10244
  this._listeners.push(listener);
10237
10245
  return () => {
@@ -10249,12 +10257,14 @@ var AIDiagram = (function (exports) {
10249
10257
  l(e);
10250
10258
  }
10251
10259
  reset() {
10260
+ this.stop();
10252
10261
  this._step = -1;
10253
10262
  this._clearAll();
10254
10263
  this.emit("animation-reset");
10255
10264
  }
10256
10265
  /** Remove caption and annotation layer from the DOM */
10257
10266
  destroy() {
10267
+ this.stop();
10258
10268
  this._clearAll();
10259
10269
  this._captionEl?.remove();
10260
10270
  this._captionEl = null;
@@ -10265,16 +10275,11 @@ var AIDiagram = (function (exports) {
10265
10275
  this._pointerEl = null;
10266
10276
  }
10267
10277
  next() {
10268
- if (!this.canNext)
10269
- return false;
10270
- this._step++;
10271
- this._applyStep(this._step, false);
10272
- this.emit("step-change");
10273
- if (!this.canNext)
10274
- this.emit("animation-end");
10275
- return true;
10278
+ this.stop();
10279
+ return this._advanceNext();
10276
10280
  }
10277
10281
  prev() {
10282
+ this.stop();
10278
10283
  if (!this.canPrev)
10279
10284
  return false;
10280
10285
  this._step--;
@@ -10285,18 +10290,33 @@ var AIDiagram = (function (exports) {
10285
10290
  return true;
10286
10291
  }
10287
10292
  async play(msPerStep = 900) {
10293
+ if (this._isPlaying || !this.canNext)
10294
+ return;
10295
+ const runId = ++this._playRunId;
10296
+ this._isPlaying = true;
10288
10297
  this.emit("animation-start");
10289
- while (this.canNext) {
10290
- const nextStep = this.steps[this._step + 1];
10291
- this.next();
10292
- // Wait for timer AND speech to finish (whichever is longer)
10293
- await Promise.all([
10294
- new Promise((r) => setTimeout(r, this._playbackWaitMs(nextStep, msPerStep))),
10295
- this._speechDone ?? Promise.resolve(),
10296
- ]);
10298
+ try {
10299
+ while (this.canNext && this._playRunId === runId) {
10300
+ const nextStep = this.steps[this._step + 1];
10301
+ if (!this._advanceNext())
10302
+ break;
10303
+ if (this._playRunId !== runId)
10304
+ break;
10305
+ await Promise.all([
10306
+ this._waitForPlaybackDelay(this._playbackWaitMs(nextStep, msPerStep)),
10307
+ this._speechDone ?? Promise.resolve(),
10308
+ ]);
10309
+ }
10310
+ }
10311
+ finally {
10312
+ if (this._playRunId === runId) {
10313
+ this._isPlaying = false;
10314
+ this._cancelPlaybackDelay();
10315
+ }
10297
10316
  }
10298
10317
  }
10299
10318
  goTo(index) {
10319
+ this.stop();
10300
10320
  index = Math.max(-1, Math.min(this.steps.length - 1, index));
10301
10321
  if (index === this._step)
10302
10322
  return;
@@ -10310,6 +10330,30 @@ var AIDiagram = (function (exports) {
10310
10330
  }
10311
10331
  this.emit("step-change");
10312
10332
  }
10333
+ stop() {
10334
+ if (!this._isPlaying && !this._resolvePlaybackDelay) {
10335
+ this._clearPendingStepTimers();
10336
+ this._cancelNarrationTyping();
10337
+ this._cancelSpeech();
10338
+ return;
10339
+ }
10340
+ this._isPlaying = false;
10341
+ this._playRunId += 1;
10342
+ this._cancelPlaybackDelay();
10343
+ this._clearPendingStepTimers();
10344
+ this._cancelNarrationTyping();
10345
+ this._cancelSpeech();
10346
+ }
10347
+ _advanceNext() {
10348
+ if (!this.canNext)
10349
+ return false;
10350
+ this._step++;
10351
+ this._applyStep(this._step, false);
10352
+ this.emit("step-change");
10353
+ if (!this.canNext)
10354
+ this.emit("animation-end");
10355
+ return true;
10356
+ }
10313
10357
  _clearTimerBucket(bucket) {
10314
10358
  bucket.forEach((id) => window.clearTimeout(id));
10315
10359
  bucket.clear();
@@ -10335,6 +10379,34 @@ var AIDiagram = (function (exports) {
10335
10379
  _scheduleStep(fn, delayMs) {
10336
10380
  this._scheduleTimer(fn, delayMs, this._pendingStepTimers);
10337
10381
  }
10382
+ _waitForPlaybackDelay(delayMs) {
10383
+ this._cancelPlaybackDelay();
10384
+ return new Promise((resolve) => {
10385
+ let settled = false;
10386
+ const finish = () => {
10387
+ if (settled)
10388
+ return;
10389
+ settled = true;
10390
+ if (this._playbackDelayTimerId !== null) {
10391
+ window.clearTimeout(this._playbackDelayTimerId);
10392
+ this._playbackDelayTimerId = null;
10393
+ }
10394
+ if (this._resolvePlaybackDelay === finish) {
10395
+ this._resolvePlaybackDelay = null;
10396
+ }
10397
+ resolve();
10398
+ };
10399
+ this._resolvePlaybackDelay = finish;
10400
+ if (delayMs <= 0) {
10401
+ finish();
10402
+ return;
10403
+ }
10404
+ this._playbackDelayTimerId = window.setTimeout(finish, delayMs);
10405
+ });
10406
+ }
10407
+ _cancelPlaybackDelay() {
10408
+ this._resolvePlaybackDelay?.();
10409
+ }
10338
10410
  _stepWaitMs(step, fallbackMs) {
10339
10411
  const delay = Math.max(0, step.delay ?? 0);
10340
10412
  const duration = Math.max(0, step.duration ?? 0);
@@ -10376,6 +10448,7 @@ var AIDiagram = (function (exports) {
10376
10448
  return this._stepWaitMs(step, fallbackMs);
10377
10449
  }
10378
10450
  _clearAll() {
10451
+ this._cancelPlaybackDelay();
10379
10452
  this._clearPendingStepTimers();
10380
10453
  this._cancelNarrationTyping();
10381
10454
  this._cancelSpeech();
@@ -10987,16 +11060,30 @@ var AIDiagram = (function (exports) {
10987
11060
  utter.rate = 0.95;
10988
11061
  utter.pitch = 1;
10989
11062
  utter.lang = "en-US";
10990
- // Track when speech actually finishes
11063
+ // Track when speech actually finishes so play() can block until the utterance ends.
10991
11064
  this._speechDone = new Promise((resolve) => {
10992
- utter.onend = () => resolve();
10993
- utter.onerror = () => resolve();
11065
+ let settled = false;
11066
+ const finish = () => {
11067
+ if (settled)
11068
+ return;
11069
+ settled = true;
11070
+ if (this._resolveSpeechDone === finish) {
11071
+ this._resolveSpeechDone = null;
11072
+ this._speechDone = null;
11073
+ }
11074
+ resolve();
11075
+ };
11076
+ this._resolveSpeechDone = finish;
11077
+ utter.onend = finish;
11078
+ utter.onerror = finish;
10994
11079
  });
10995
11080
  speechSynthesis.speak(utter);
10996
11081
  }
10997
11082
  _cancelSpeech() {
10998
11083
  if (typeof speechSynthesis !== "undefined")
10999
11084
  speechSynthesis.cancel();
11085
+ this._resolveSpeechDone?.();
11086
+ this._resolveSpeechDone = null;
11000
11087
  this._speechDone = null;
11001
11088
  }
11002
11089
  /** Pre-warm the speech engine with a silent utterance to eliminate cold-start delay */
@@ -11805,7 +11892,13 @@ var AIDiagram = (function (exports) {
11805
11892
  this.resetButton.addEventListener("click", () => this.resetAnimation());
11806
11893
  this.prevButton.addEventListener("click", () => this.prevStep());
11807
11894
  this.nextButton.addEventListener("click", () => this.nextStep());
11808
- this.playButton.addEventListener("click", () => void this.play());
11895
+ this.playButton.addEventListener("click", () => {
11896
+ if (this.playInFlight) {
11897
+ this.stopPlayback();
11898
+ return;
11899
+ }
11900
+ void this.play();
11901
+ });
11809
11902
  this.captionButton.addEventListener("click", () => this.setCaptionVisible(!this.showCaption));
11810
11903
  this.ttsButton.addEventListener("click", () => this.setTtsEnabled(!this.getTtsEnabled()));
11811
11904
  this.viewport.addEventListener("pointerdown", this.onPointerDown);
@@ -11869,6 +11962,7 @@ var AIDiagram = (function (exports) {
11869
11962
  this.dsl = normalizeNewlines(nextDsl);
11870
11963
  this.clearError();
11871
11964
  this.mirroredEditor?.clearError();
11965
+ this.playInFlight = false;
11872
11966
  this.animUnsub?.();
11873
11967
  this.animUnsub = null;
11874
11968
  this.instance?.anim?.destroy();
@@ -11939,9 +12033,16 @@ var AIDiagram = (function (exports) {
11939
12033
  this.syncAnimationUi();
11940
12034
  }
11941
12035
  }
12036
+ stopPlayback() {
12037
+ this.playInFlight = false;
12038
+ if (this.renderer === "svg")
12039
+ this.instance?.anim.stop();
12040
+ this.syncAnimationUi();
12041
+ }
11942
12042
  nextStep() {
11943
12043
  if (!this.instance || this.renderer !== "svg")
11944
12044
  return;
12045
+ this.playInFlight = false;
11945
12046
  this.instance.anim.next();
11946
12047
  this.syncAnimationUi();
11947
12048
  this.focusCurrentStep();
@@ -11949,6 +12050,7 @@ var AIDiagram = (function (exports) {
11949
12050
  prevStep() {
11950
12051
  if (!this.instance || this.renderer !== "svg")
11951
12052
  return;
12053
+ this.playInFlight = false;
11952
12054
  this.instance.anim.prev();
11953
12055
  this.syncAnimationUi();
11954
12056
  this.focusCurrentStep();
@@ -11956,6 +12058,7 @@ var AIDiagram = (function (exports) {
11956
12058
  resetAnimation() {
11957
12059
  if (!this.instance || this.renderer !== "svg")
11958
12060
  return;
12061
+ this.playInFlight = false;
11959
12062
  this.instance.anim.reset();
11960
12063
  this.syncAnimationUi();
11961
12064
  }
@@ -11984,6 +12087,7 @@ var AIDiagram = (function (exports) {
11984
12087
  this.render();
11985
12088
  }
11986
12089
  destroy() {
12090
+ this.playInFlight = false;
11987
12091
  this.editorCleanup?.();
11988
12092
  this.animUnsub?.();
11989
12093
  this.instance?.anim?.destroy();
@@ -12058,6 +12162,9 @@ var AIDiagram = (function (exports) {
12058
12162
  this.prevButton.disabled = true;
12059
12163
  this.nextButton.disabled = true;
12060
12164
  this.resetButton.disabled = true;
12165
+ this.playButton.textContent = "Play";
12166
+ this.playButton.classList.remove("is-active");
12167
+ this.playButton.setAttribute("aria-pressed", "false");
12061
12168
  this.playButton.disabled = true;
12062
12169
  this.syncToggleUi();
12063
12170
  return;
@@ -12067,7 +12174,10 @@ var AIDiagram = (function (exports) {
12067
12174
  this.prevButton.disabled = !anim.canPrev;
12068
12175
  this.nextButton.disabled = !anim.canNext;
12069
12176
  this.resetButton.disabled = false;
12070
- this.playButton.disabled = this.playInFlight || !anim.canNext;
12177
+ this.playButton.textContent = this.playInFlight ? "Stop" : "Play";
12178
+ this.playButton.classList.toggle("is-active", this.playInFlight);
12179
+ this.playButton.setAttribute("aria-pressed", this.playInFlight ? "true" : "false");
12180
+ this.playButton.disabled = this.playInFlight ? false : !anim.canNext;
12071
12181
  this.syncToggleUi();
12072
12182
  }
12073
12183
  getStepTarget(stepItem) {
@@ -12973,6 +13083,10 @@ var AIDiagram = (function (exports) {
12973
13083
  this.btnPrev.addEventListener("click", () => this.prevStep());
12974
13084
  this.btnNext.addEventListener("click", () => this.nextStep());
12975
13085
  this.btnPlay.addEventListener("click", () => {
13086
+ if (this.playInFlight) {
13087
+ this.stopPlayback();
13088
+ return;
13089
+ }
12976
13090
  void this.play();
12977
13091
  });
12978
13092
  this.btnCaption.addEventListener("click", () => this.setCaptionVisible(!this.showCaption));
@@ -13030,6 +13144,7 @@ var AIDiagram = (function (exports) {
13030
13144
  }
13031
13145
  this.clearError();
13032
13146
  this.stopMotion();
13147
+ this.playInFlight = false;
13033
13148
  this.animUnsub?.();
13034
13149
  this.animUnsub = null;
13035
13150
  this.instance?.anim?.destroy();
@@ -13102,9 +13217,15 @@ var AIDiagram = (function (exports) {
13102
13217
  this.syncControls();
13103
13218
  }
13104
13219
  }
13220
+ stopPlayback() {
13221
+ this.playInFlight = false;
13222
+ this.instance?.anim.stop();
13223
+ this.syncControls();
13224
+ }
13105
13225
  nextStep() {
13106
13226
  if (!this.instance)
13107
13227
  return;
13228
+ this.playInFlight = false;
13108
13229
  this.instance.anim.next();
13109
13230
  this.syncControls();
13110
13231
  if (this.options.autoFocus !== false && this.options.autoFocusOnStep !== false) {
@@ -13114,6 +13235,7 @@ var AIDiagram = (function (exports) {
13114
13235
  prevStep() {
13115
13236
  if (!this.instance)
13116
13237
  return;
13238
+ this.playInFlight = false;
13117
13239
  this.instance.anim.prev();
13118
13240
  this.syncControls();
13119
13241
  if (this.options.autoFocus !== false && this.options.autoFocusOnStep !== false) {
@@ -13123,6 +13245,7 @@ var AIDiagram = (function (exports) {
13123
13245
  resetAnimation() {
13124
13246
  if (!this.instance)
13125
13247
  return;
13248
+ this.playInFlight = false;
13126
13249
  this.instance.anim.reset();
13127
13250
  this.syncControls();
13128
13251
  }
@@ -13149,6 +13272,7 @@ var AIDiagram = (function (exports) {
13149
13272
  }
13150
13273
  destroy() {
13151
13274
  this.stopMotion();
13275
+ this.playInFlight = false;
13152
13276
  this.animUnsub?.();
13153
13277
  this.instance?.anim?.destroy();
13154
13278
  this.instance = null;
@@ -13181,6 +13305,9 @@ var AIDiagram = (function (exports) {
13181
13305
  this.btnRestart.disabled = true;
13182
13306
  this.btnPrev.disabled = true;
13183
13307
  this.btnNext.disabled = true;
13308
+ this.btnPlay.textContent = "Play";
13309
+ this.btnPlay.classList.remove("is-active");
13310
+ this.btnPlay.setAttribute("aria-pressed", "false");
13184
13311
  this.btnPlay.disabled = true;
13185
13312
  return;
13186
13313
  }
@@ -13189,7 +13316,10 @@ var AIDiagram = (function (exports) {
13189
13316
  this.btnRestart.disabled = false;
13190
13317
  this.btnPrev.disabled = !anim.canPrev;
13191
13318
  this.btnNext.disabled = !anim.canNext;
13192
- this.btnPlay.disabled = this.playInFlight || !anim.canNext;
13319
+ this.btnPlay.textContent = this.playInFlight ? "Stop" : "Play";
13320
+ this.btnPlay.classList.toggle("is-active", this.playInFlight);
13321
+ this.btnPlay.setAttribute("aria-pressed", this.playInFlight ? "true" : "false");
13322
+ this.btnPlay.disabled = this.playInFlight ? false : !anim.canNext;
13193
13323
  }
13194
13324
  syncViewControls() {
13195
13325
  const hasView = !!this.instance?.svg;
@@ -113,6 +113,7 @@ export declare class SketchmarkCanvas {
113
113
  on<K extends keyof SketchmarkCanvasEvents>(event: K, listener: (payload: SketchmarkCanvasEvents[K]) => void): () => void;
114
114
  render(nextDsl?: string): DiagramInstance | null;
115
115
  play(): Promise<void>;
116
+ stopPlayback(): void;
116
117
  nextStep(): void;
117
118
  prevStep(): void;
118
119
  resetAnimation(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/ui/canvas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/ui/canvas.ts"],"names":[],"mappings":"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"}
@@ -96,6 +96,7 @@ export declare class SketchmarkEmbed {
96
96
  on<K extends keyof SketchmarkEmbedEvents>(event: K, listener: (payload: SketchmarkEmbedEvents[K]) => void): () => void;
97
97
  render(nextDsl?: string): DiagramInstance | null;
98
98
  play(): Promise<void>;
99
+ stopPlayback(): void;
99
100
  nextStep(): void;
100
101
  prevStep(): void;
101
102
  resetAnimation(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/ui/embed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/ui/embed.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sketchmark",
3
- "version": "1.3.5",
3
+ "version": "1.3.6",
4
4
  "description": "A plain-text DSL for hand-drawn diagrams. Write boxes, edges, and groups as code — renders sketchy SVG/Canvas via rough.js with a built-in step-by-step animation system.",
5
5
  "keywords": [
6
6
  "diagram",