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/README.md +55 -35
- package/dist/animation/index.d.ts.map +1 -1
- package/dist/index.cjs +134 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +134 -4
- package/dist/index.js.map +1 -1
- package/dist/render.d.ts +1 -0
- package/dist/render.d.ts.map +1 -1
- package/dist/sketchmark.iife.js +134 -4
- package/dist/ui/canvas.d.ts +12 -0
- package/dist/ui/canvas.d.ts.map +1 -1
- package/dist/ui/embed.d.ts +12 -0
- package/dist/ui/embed.d.ts.map +1 -1
- package/package.json +12 -11
package/dist/render.d.ts
CHANGED
package/dist/render.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/sketchmark.iife.js
CHANGED
|
@@ -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) {
|
|
9448
|
-
|
|
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 {
|
package/dist/ui/canvas.d.ts
CHANGED
|
@@ -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;
|
package/dist/ui/canvas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/ui/canvas.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/embed.d.ts
CHANGED
|
@@ -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;
|
package/dist/ui/embed.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/ui/embed.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;
|
|
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.
|
|
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
|
-
|
|
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
|
+
}
|