sketchmark 1.1.4 → 1.1.5

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.

Potentially problematic release.


This version of sketchmark might be problematic. Click here for more details.

package/dist/render.d.ts CHANGED
@@ -7,6 +7,7 @@ export interface RenderOptions {
7
7
  dsl: string;
8
8
  renderer?: "svg" | "canvas";
9
9
  injectCSS?: boolean;
10
+ tts?: boolean;
10
11
  svgOptions?: SVGRendererOptions;
11
12
  canvasOptions?: CanvasRendererOptions;
12
13
  onNodeClick?: (nodeId: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAiB,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAK1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,aAAa,CAAC;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;CACpE;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IAC1C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,eAAe,CAAC;IACzC,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,CA0F9D"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAiB,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAK1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,aAAa,CAAC;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;CACpE;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IAC1C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,eAAe,CAAC;IACzC,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,CA+F9D"}
@@ -9444,8 +9444,17 @@ var AIDiagram = (function (exports) {
9444
9444
  }
9445
9445
  /** Enable/disable browser text-to-speech for narrate steps */
9446
9446
  get tts() { return this._tts; }
9447
- set tts(on) { this._tts = on; if (!on)
9448
- this._cancelSpeech(); }
9447
+ set tts(on) {
9448
+ const next = !!on;
9449
+ const changed = next !== this._tts;
9450
+ this._tts = next;
9451
+ if (!next) {
9452
+ this._cancelSpeech();
9453
+ return;
9454
+ }
9455
+ if (changed)
9456
+ this._warmUpSpeech();
9457
+ }
9449
9458
  get currentStep() {
9450
9459
  return this._step;
9451
9460
  }
@@ -10724,7 +10733,7 @@ var AIDiagram = (function (exports) {
10724
10733
  }
10725
10734
 
10726
10735
  function render(options) {
10727
- const { container: rawContainer, dsl, renderer = "svg", injectCSS = true, svgOptions = {}, canvasOptions = {}, onNodeClick, onReady, } = options;
10736
+ const { container: rawContainer, dsl, renderer = "svg", injectCSS = true, tts, svgOptions = {}, canvasOptions = {}, onNodeClick, onReady, } = options;
10728
10737
  if (injectCSS && !document.getElementById("ai-diagram-css")) {
10729
10738
  const style = document.createElement("style");
10730
10739
  style.id = "ai-diagram-css";
@@ -10773,6 +10782,9 @@ var AIDiagram = (function (exports) {
10773
10782
  const containerEl = el instanceof SVGSVGElement ? undefined : el;
10774
10783
  anim = new AnimationController(svg, ast.steps, containerEl, rc, ast.config);
10775
10784
  }
10785
+ if (typeof tts === "boolean") {
10786
+ anim.tts = tts;
10787
+ }
10776
10788
  onReady?.(anim, svg);
10777
10789
  return {
10778
10790
  scene,
@@ -10824,13 +10836,14 @@ var AIDiagram = (function (exports) {
10824
10836
  const CANVAS_STYLE_ID = "sketchmark-canvas-ui";
10825
10837
  const CANVAS_CSS = `
10826
10838
  .skm-canvas{display:flex;flex-direction:column;width:100%;height:100%;min-height:320px;overflow:hidden;border:1px solid #caba98;border-radius:10px;background:#f8f4ea;color:#3a2010;font-family:"Courier New",monospace}
10827
- .skm-canvas__animbar{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#eee7d8;border-bottom:1px solid #caba98;flex-shrink:0}
10839
+ .skm-canvas__animbar{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#eee7d8;border-bottom:1px solid #caba98;flex-shrink:0;flex-wrap:wrap}
10828
10840
  .skm-canvas__status{min-width:96px;text-align:center;color:#6a4820;font-size:11px}
10829
10841
  .skm-canvas__label{color:#8a6040;font-size:11px;font-style:italic}
10830
10842
  .skm-canvas__spacer{flex:1}
10831
10843
  .skm-canvas__stats{color:#9a7848;font-size:10px}
10832
10844
  .skm-canvas__button{border:1px solid #caba98;background:#f5eedd;color:#3a2010;border-radius:6px;padding:4px 9px;font:inherit;font-size:11px;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}
10833
10845
  .skm-canvas__button:hover:not(:disabled){background:#c8a060;border-color:#c8a060;color:#fff}
10846
+ .skm-canvas__button.is-active{background:#c8a060;border-color:#c8a060;color:#fff}
10834
10847
  .skm-canvas__button:disabled{opacity:.45;cursor:default}
10835
10848
  .skm-canvas__error{display:none;padding:8px 12px;background:#280a0a;border-bottom:1px solid #5a1818;color:#f07070;font-size:11px;line-height:1.4;white-space:pre-wrap;flex-shrink:0}
10836
10849
  .skm-canvas__error.is-visible{display:block}
@@ -10852,6 +10865,8 @@ var AIDiagram = (function (exports) {
10852
10865
  this.instance = null;
10853
10866
  this.emitter = new EventEmitter();
10854
10867
  this.dsl = "";
10868
+ this.showCaption = true;
10869
+ this.ttsOverride = null;
10855
10870
  this.panX = 60;
10856
10871
  this.panY = 60;
10857
10872
  this.zoom = 1;
@@ -10939,6 +10954,8 @@ var AIDiagram = (function (exports) {
10939
10954
  this.options = options;
10940
10955
  this.renderer = options.renderer ?? "svg";
10941
10956
  this.theme = options.theme ?? "light";
10957
+ this.showCaption = options.showCaption !== false;
10958
+ this.ttsOverride = typeof options.tts === "boolean" ? options.tts : null;
10942
10959
  this.dsl = normalizeNewlines(options.dsl ?? "");
10943
10960
  injectStyleOnce(CANVAS_STYLE_ID, CANVAS_CSS);
10944
10961
  const host = resolveContainer(options.container);
@@ -10957,6 +10974,8 @@ var AIDiagram = (function (exports) {
10957
10974
  <span class="skm-canvas__status">No steps</span>
10958
10975
  <button type="button" class="skm-canvas__button" data-action="next">Next</button>
10959
10976
  <button type="button" class="skm-canvas__button" data-action="play">Play</button>
10977
+ <button type="button" class="skm-canvas__button" data-action="toggle-caption">Caption On</button>
10978
+ <button type="button" class="skm-canvas__button" data-action="toggle-tts">TTS Off</button>
10960
10979
  <span class="skm-canvas__label"></span>
10961
10980
  <span class="skm-canvas__spacer"></span>
10962
10981
  <span class="skm-canvas__stats"></span>
@@ -10991,6 +11010,8 @@ var AIDiagram = (function (exports) {
10991
11010
  this.prevButton = this.root.querySelector('[data-action="prev"]');
10992
11011
  this.nextButton = this.root.querySelector('[data-action="next"]');
10993
11012
  this.resetButton = this.root.querySelector('[data-action="reset"]');
11013
+ this.captionButton = this.root.querySelector('[data-action="toggle-caption"]');
11014
+ this.ttsButton = this.root.querySelector('[data-action="toggle-tts"]');
10994
11015
  this.gridPattern = this.root.querySelector(`#${patternId}`);
10995
11016
  this.gridDot = this.gridPattern.querySelector("circle");
10996
11017
  this.root.querySelector('[data-action="fit"]')?.addEventListener("click", () => this.fitContent());
@@ -11001,6 +11022,8 @@ var AIDiagram = (function (exports) {
11001
11022
  this.prevButton.addEventListener("click", () => this.prevStep());
11002
11023
  this.nextButton.addEventListener("click", () => this.nextStep());
11003
11024
  this.playButton.addEventListener("click", () => void this.play());
11025
+ this.captionButton.addEventListener("click", () => this.setCaptionVisible(!this.showCaption));
11026
+ this.ttsButton.addEventListener("click", () => this.setTtsEnabled(!this.getTtsEnabled()));
11004
11027
  this.viewport.addEventListener("pointerdown", this.onPointerDown);
11005
11028
  this.viewport.addEventListener("pointermove", this.onPointerMove);
11006
11029
  this.viewport.addEventListener("pointerup", this.onStopPanning);
@@ -11022,6 +11045,16 @@ var AIDiagram = (function (exports) {
11022
11045
  if (renderNow)
11023
11046
  this.render();
11024
11047
  }
11048
+ setCaptionVisible(visible) {
11049
+ this.showCaption = visible;
11050
+ this.applyCaptionVisibility(this.instance);
11051
+ this.syncToggleUi();
11052
+ }
11053
+ setTtsEnabled(enabled) {
11054
+ this.ttsOverride = enabled;
11055
+ this.applyTtsSetting(this.instance);
11056
+ this.syncToggleUi();
11057
+ }
11025
11058
  bindEditor(editor, options = {}) {
11026
11059
  this.editorCleanup?.();
11027
11060
  const renderOnRun = options.renderOnRun !== false;
@@ -11066,6 +11099,8 @@ var AIDiagram = (function (exports) {
11066
11099
  onNodeClick: this.options.onNodeClick,
11067
11100
  });
11068
11101
  this.instance = instance;
11102
+ this.applyCaptionVisibility(instance);
11103
+ this.applyTtsSetting(instance);
11069
11104
  this.statsLabel.textContent = `${instance.scene.nodes.length}n / ${instance.scene.edges.length}e / ${instance.scene.groups.length}g`;
11070
11105
  if (this.renderer === "svg") {
11071
11106
  this.animUnsub = instance.anim.on((event) => {
@@ -11198,6 +11233,37 @@ var AIDiagram = (function (exports) {
11198
11233
  this.zoom = clampedZoom;
11199
11234
  this.applyTransform();
11200
11235
  }
11236
+ applyCaptionVisibility(instance) {
11237
+ const caption = instance?.anim.captionElement;
11238
+ if (!caption)
11239
+ return;
11240
+ caption.style.display = this.showCaption ? "" : "none";
11241
+ caption.setAttribute("aria-hidden", this.showCaption ? "false" : "true");
11242
+ }
11243
+ applyTtsSetting(instance) {
11244
+ if (!instance || this.ttsOverride === null)
11245
+ return;
11246
+ instance.anim.tts = this.ttsOverride;
11247
+ }
11248
+ getTtsEnabled() {
11249
+ if (this.ttsOverride !== null)
11250
+ return this.ttsOverride;
11251
+ return !!this.instance?.anim.tts;
11252
+ }
11253
+ syncToggleUi() {
11254
+ const canToggleCaption = this.renderer === "svg" && !!this.instance;
11255
+ const canToggleTts = canToggleCaption &&
11256
+ typeof speechSynthesis !== "undefined";
11257
+ const ttsEnabled = this.getTtsEnabled();
11258
+ this.captionButton.textContent = this.showCaption ? "Caption On" : "Caption Off";
11259
+ this.captionButton.classList.toggle("is-active", this.showCaption);
11260
+ this.captionButton.setAttribute("aria-pressed", this.showCaption ? "true" : "false");
11261
+ this.captionButton.disabled = !canToggleCaption;
11262
+ this.ttsButton.textContent = ttsEnabled ? "TTS On" : "TTS Off";
11263
+ this.ttsButton.classList.toggle("is-active", ttsEnabled);
11264
+ this.ttsButton.setAttribute("aria-pressed", ttsEnabled ? "true" : "false");
11265
+ this.ttsButton.disabled = !canToggleTts;
11266
+ }
11201
11267
  syncAnimationUi() {
11202
11268
  const anim = this.instance?.anim;
11203
11269
  const canAnimate = this.renderer === "svg" && !!anim && anim.total > 0;
@@ -11208,6 +11274,7 @@ var AIDiagram = (function (exports) {
11208
11274
  this.nextButton.disabled = true;
11209
11275
  this.resetButton.disabled = true;
11210
11276
  this.playButton.disabled = true;
11277
+ this.syncToggleUi();
11211
11278
  return;
11212
11279
  }
11213
11280
  this.stepDisplay.textContent = anim.currentStep < 0 ? `${anim.total} steps` : `${anim.currentStep + 1} / ${anim.total}`;
@@ -11216,6 +11283,7 @@ var AIDiagram = (function (exports) {
11216
11283
  this.nextButton.disabled = !anim.canNext;
11217
11284
  this.resetButton.disabled = false;
11218
11285
  this.playButton.disabled = this.playInFlight || !anim.canNext;
11286
+ this.syncToggleUi();
11219
11287
  }
11220
11288
  getStepTarget(stepItem) {
11221
11289
  if (!stepItem)
@@ -11915,6 +11983,12 @@ var AIDiagram = (function (exports) {
11915
11983
  color: #fff;
11916
11984
  }
11917
11985
 
11986
+ .skm-embed__button.is-active {
11987
+ background: #c8a060;
11988
+ border-color: #c8a060;
11989
+ color: #fff;
11990
+ }
11991
+
11918
11992
  .skm-embed--dark .skm-embed__button {
11919
11993
  border-color: #4a3520;
11920
11994
  background: #22190e;
@@ -11961,6 +12035,8 @@ var AIDiagram = (function (exports) {
11961
12035
  this.emitter = new EventEmitter();
11962
12036
  this.animUnsub = null;
11963
12037
  this.playInFlight = false;
12038
+ this.showCaption = true;
12039
+ this.ttsOverride = null;
11964
12040
  this.zoom = 1;
11965
12041
  this.offsetX = 0;
11966
12042
  this.offsetY = 0;
@@ -11970,6 +12046,8 @@ var AIDiagram = (function (exports) {
11970
12046
  this.options = options;
11971
12047
  this.dsl = normalizeNewlines(options.dsl);
11972
12048
  this.theme = options.theme ?? "light";
12049
+ this.showCaption = options.showCaption !== false;
12050
+ this.ttsOverride = typeof options.tts === "boolean" ? options.tts : null;
11973
12051
  injectStyleOnce(EMBED_STYLE_ID, EMBED_CSS);
11974
12052
  const host = resolveContainer(options.container);
11975
12053
  host.innerHTML = "";
@@ -11997,6 +12075,10 @@ var AIDiagram = (function (exports) {
11997
12075
  <button type="button" class="skm-embed__button" data-action="next">Next</button>
11998
12076
  <button type="button" class="skm-embed__button" data-action="play">Play</button>
11999
12077
  </div>
12078
+ <div class="skm-embed__controls-group">
12079
+ <button type="button" class="skm-embed__button" data-action="toggle-caption">Caption On</button>
12080
+ <button type="button" class="skm-embed__button" data-action="toggle-tts">TTS Off</button>
12081
+ </div>
12000
12082
  <span class="skm-embed__step">No steps</span>
12001
12083
  </div>
12002
12084
  `;
@@ -12014,6 +12096,8 @@ var AIDiagram = (function (exports) {
12014
12096
  this.btnPrev = this.root.querySelector('[data-action="prev"]');
12015
12097
  this.btnNext = this.root.querySelector('[data-action="next"]');
12016
12098
  this.btnPlay = this.root.querySelector('[data-action="play"]');
12099
+ this.btnCaption = this.root.querySelector('[data-action="toggle-caption"]');
12100
+ this.btnTts = this.root.querySelector('[data-action="toggle-tts"]');
12017
12101
  this.controlsElement.classList.toggle("is-hidden", options.showControls === false);
12018
12102
  this.btnFit.addEventListener("click", () => this.resetView());
12019
12103
  this.btnZoomIn.addEventListener("click", () => this.zoomIn());
@@ -12024,6 +12108,8 @@ var AIDiagram = (function (exports) {
12024
12108
  this.btnPlay.addEventListener("click", () => {
12025
12109
  void this.play();
12026
12110
  });
12111
+ this.btnCaption.addEventListener("click", () => this.setCaptionVisible(!this.showCaption));
12112
+ this.btnTts.addEventListener("click", () => this.setTtsEnabled(!this.getTtsEnabled()));
12027
12113
  if (typeof ResizeObserver !== "undefined") {
12028
12114
  this.resizeObserver = new ResizeObserver(() => {
12029
12115
  this.positionViewport(false);
@@ -12041,6 +12127,16 @@ var AIDiagram = (function (exports) {
12041
12127
  if (renderNow)
12042
12128
  this.render();
12043
12129
  }
12130
+ setCaptionVisible(visible) {
12131
+ this.showCaption = visible;
12132
+ this.applyCaptionVisibility(this.instance);
12133
+ this.syncToggleControls();
12134
+ }
12135
+ setTtsEnabled(enabled) {
12136
+ this.ttsOverride = enabled;
12137
+ this.applyTtsSetting(this.instance);
12138
+ this.syncToggleControls();
12139
+ }
12044
12140
  setSize(width, height) {
12045
12141
  this.applySize(width, height);
12046
12142
  this.positionViewport(false);
@@ -12085,6 +12181,8 @@ var AIDiagram = (function (exports) {
12085
12181
  onNodeClick: this.options.onNodeClick,
12086
12182
  });
12087
12183
  this.instance = instance;
12184
+ this.applyCaptionVisibility(instance);
12185
+ this.applyTtsSetting(instance);
12088
12186
  this.animUnsub = instance.anim.on((event) => {
12089
12187
  this.syncControls();
12090
12188
  if (event.type === "step-change") {
@@ -12189,6 +12287,7 @@ var AIDiagram = (function (exports) {
12189
12287
  syncControls() {
12190
12288
  this.syncAnimationControls();
12191
12289
  this.syncViewControls();
12290
+ this.syncToggleControls();
12192
12291
  }
12193
12292
  syncAnimationControls() {
12194
12293
  const anim = this.instance?.anim;
@@ -12350,6 +12449,37 @@ var AIDiagram = (function (exports) {
12350
12449
  this.applyTransform();
12351
12450
  this.syncViewControls();
12352
12451
  }
12452
+ applyCaptionVisibility(instance) {
12453
+ const caption = instance?.anim.captionElement;
12454
+ if (!caption)
12455
+ return;
12456
+ caption.style.display = this.showCaption ? "" : "none";
12457
+ caption.setAttribute("aria-hidden", this.showCaption ? "false" : "true");
12458
+ }
12459
+ applyTtsSetting(instance) {
12460
+ if (!instance || this.ttsOverride === null)
12461
+ return;
12462
+ instance.anim.tts = this.ttsOverride;
12463
+ }
12464
+ getTtsEnabled() {
12465
+ if (this.ttsOverride !== null)
12466
+ return this.ttsOverride;
12467
+ return !!this.instance?.anim.tts;
12468
+ }
12469
+ syncToggleControls() {
12470
+ const hasView = !!this.instance?.svg;
12471
+ const canToggleTts = hasView &&
12472
+ typeof speechSynthesis !== "undefined";
12473
+ const ttsEnabled = this.getTtsEnabled();
12474
+ this.btnCaption.textContent = this.showCaption ? "Caption On" : "Caption Off";
12475
+ this.btnCaption.classList.toggle("is-active", this.showCaption);
12476
+ this.btnCaption.setAttribute("aria-pressed", this.showCaption ? "true" : "false");
12477
+ this.btnCaption.disabled = !hasView;
12478
+ this.btnTts.textContent = ttsEnabled ? "TTS On" : "TTS Off";
12479
+ this.btnTts.classList.toggle("is-active", ttsEnabled);
12480
+ this.btnTts.setAttribute("aria-pressed", ttsEnabled ? "true" : "false");
12481
+ this.btnTts.disabled = !canToggleTts;
12482
+ }
12353
12483
  getTargetBox(target, viewportRect) {
12354
12484
  if (target instanceof SVGGraphicsElement) {
12355
12485
  try {
@@ -19,6 +19,8 @@ export interface SketchmarkCanvasOptions {
19
19
  showAnimationBar?: boolean;
20
20
  showControls?: boolean;
21
21
  showMinimap?: boolean;
22
+ showCaption?: boolean;
23
+ tts?: boolean;
22
24
  svgOptions?: SVGRendererOptions;
23
25
  canvasOptions?: CanvasRendererOptions;
24
26
  onNodeClick?: (nodeId: string) => void;
@@ -71,11 +73,15 @@ export declare class SketchmarkCanvas {
71
73
  private readonly prevButton;
72
74
  private readonly nextButton;
73
75
  private readonly resetButton;
76
+ private readonly captionButton;
77
+ private readonly ttsButton;
74
78
  private readonly gridPattern;
75
79
  private readonly gridDot;
76
80
  private readonly renderer;
77
81
  private dsl;
78
82
  private theme;
83
+ private showCaption;
84
+ private ttsOverride;
79
85
  private panX;
80
86
  private panY;
81
87
  private zoom;
@@ -99,6 +105,8 @@ export declare class SketchmarkCanvas {
99
105
  constructor(options: SketchmarkCanvasOptions);
100
106
  getDsl(): string;
101
107
  setDsl(dsl: string, renderNow?: boolean): void;
108
+ setCaptionVisible(visible: boolean): void;
109
+ setTtsEnabled(enabled: boolean): void;
102
110
  bindEditor(editor: SketchmarkEditor, options?: SketchmarkCanvasBindEditorOptions): () => void;
103
111
  on<K extends keyof SketchmarkCanvasEvents>(event: K, listener: (payload: SketchmarkCanvasEvents[K]) => void): () => void;
104
112
  render(nextDsl?: string): DiagramInstance | null;
@@ -112,6 +120,10 @@ export declare class SketchmarkCanvas {
112
120
  destroy(): void;
113
121
  private applyTransform;
114
122
  private zoomTo;
123
+ private applyCaptionVisibility;
124
+ private applyTtsSetting;
125
+ private getTtsEnabled;
126
+ private syncToggleUi;
115
127
  private syncAnimationUi;
116
128
  private getStepTarget;
117
129
  private getStepLabel;
@@ -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":"AAEA,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AA6BjD,KAAK,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAEpC,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,eAAe,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC5B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAC1E;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAuB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrE,MAAM,EAAE;QAAE,QAAQ,EAAE,eAAe,CAAC;QAAC,MAAM,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAChE,KAAK,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAClD,UAAU,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAChF,UAAU,EAAE,0BAA0B,CAAC;CACxC;AAED,MAAM,WAAW,iCAAiC;IAChD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAID,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAQ;IAExC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8C;IACtE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiB;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAE5C,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,cAAc,CAAiC;IAEvD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAc5B;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAgB5B;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAc5B;IAEF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAK9B;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAOtB;gBAEU,OAAO,EAAE,uBAAuB;IA8F5C,MAAM,IAAI,MAAM;IAIhB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,IAAI;IAK5C,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAMzC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAMrC,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAE,iCAAsC,GAAG,MAAM,IAAI;IAmBjG,EAAE,CAAC,CAAC,SAAS,MAAM,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI;IAKxH,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAyD1C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B,QAAQ,IAAI,IAAI;IAOhB,QAAQ,IAAI,IAAI;IAOhB,cAAc,IAAI,IAAI;IAMtB,UAAU,IAAI,IAAI;IAalB,SAAS,IAAI,IAAI;IAOjB,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAMlC,OAAO,IAAI,IAAI;IAcf,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,oBAAoB;IAkC5B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,sBAAsB;IAyB9B,OAAO,CAAC,oBAAoB;IA0E5B,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,UAAU;CAInB"}
@@ -11,6 +11,8 @@ export interface SketchmarkEmbedOptions {
11
11
  height?: EmbedSize;
12
12
  theme?: EmbedTheme;
13
13
  showControls?: boolean;
14
+ showCaption?: boolean;
15
+ tts?: boolean;
14
16
  playStepDelay?: number;
15
17
  fitPadding?: number;
16
18
  zoomMin?: number;
@@ -57,10 +59,14 @@ export declare class SketchmarkEmbed {
57
59
  private readonly btnFit;
58
60
  private readonly btnZoomIn;
59
61
  private readonly btnZoomOut;
62
+ private readonly btnCaption;
63
+ private readonly btnTts;
60
64
  private animUnsub;
61
65
  private playInFlight;
62
66
  private dsl;
63
67
  private theme;
68
+ private showCaption;
69
+ private ttsOverride;
64
70
  private zoom;
65
71
  private offsetX;
66
72
  private offsetY;
@@ -70,6 +76,8 @@ export declare class SketchmarkEmbed {
70
76
  constructor(options: SketchmarkEmbedOptions);
71
77
  getDsl(): string;
72
78
  setDsl(dsl: string, renderNow?: boolean): void;
79
+ setCaptionVisible(visible: boolean): void;
80
+ setTtsEnabled(enabled: boolean): void;
73
81
  setSize(width?: EmbedSize, height?: EmbedSize): void;
74
82
  setTheme(theme: EmbedTheme): void;
75
83
  on<K extends keyof SketchmarkEmbedEvents>(event: K, listener: (payload: SketchmarkEmbedEvents[K]) => void): () => void;
@@ -100,6 +108,10 @@ export declare class SketchmarkEmbed {
100
108
  private getZoomMax;
101
109
  private zoomAroundViewportCenter;
102
110
  private zoomTo;
111
+ private applyCaptionVisibility;
112
+ private applyTtsSetting;
113
+ private getTtsEnabled;
114
+ private syncToggleControls;
103
115
  private getTargetBox;
104
116
  private getFocusTarget;
105
117
  private findTargetElement;
@@ -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.1.4",
3
+ "version": "1.1.5",
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",
@@ -31,6 +31,15 @@
31
31
  "README.md",
32
32
  "LICENSE"
33
33
  ],
34
+ "scripts": {
35
+ "build": "rollup -c rollup.config.js",
36
+ "build:watch": "rollup -c rollup.config.js --watch",
37
+ "typecheck": "tsc --noEmit",
38
+ "lint": "eslint src --ext .ts",
39
+ "prepublishOnly": "npm run typecheck && npm run build",
40
+ "deploy": "wrangler deploy",
41
+ "preview": "wrangler dev"
42
+ },
34
43
  "dependencies": {
35
44
  "@chenglou/pretext": "^0.0.4"
36
45
  },
@@ -58,13 +67,5 @@
58
67
  "bugs": {
59
68
  "url": "https://github.com/anmism/sketchmark/issues"
60
69
  },
61
- "homepage": "https://github.com/anmism/sketchmark#readme",
62
- "scripts": {
63
- "build": "rollup -c rollup.config.js",
64
- "build:watch": "rollup -c rollup.config.js --watch",
65
- "typecheck": "tsc --noEmit",
66
- "lint": "eslint src --ext .ts",
67
- "deploy": "wrangler deploy",
68
- "preview": "wrangler dev"
69
- }
70
- }
70
+ "homepage": "https://github.com/anmism/sketchmark#readme"
71
+ }