sketchmark 1.4.0 → 1.4.1
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.map +1 -1
- package/dist/export/index.d.ts.map +1 -1
- package/dist/export/state.d.ts +8 -0
- package/dist/export/state.d.ts.map +1 -0
- package/dist/index.cjs +74 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +74 -6
- package/dist/index.js.map +1 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/sketchmark.iife.js +74 -6
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/animation/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/animation/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/export/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/export/index.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;AAE7E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAiFD,wBAAgB,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,GAAE,aAAkB,GAAG,IAAI,CAI5E;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAEvD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAEnD;AAGD,wBAAsB,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3F;AAED,wBAAsB,eAAe,CACnC,GAAG,EAAE,aAAa,EAClB,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,MAAM,CAAC,CA+BjB;AAGD,wBAAsB,eAAe,CACnC,MAAM,EAAE,iBAAiB,EACzB,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,IAAI,CAAC,CAGf;AAGD,wBAAgB,UAAU,CACxB,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,aAAkB,GACvB,IAAI,CAqBN;AAOD,wBAAsB,SAAS,CAC7B,MAAM,EAAE,iBAAiB,EAAE,EAC3B,IAAI,GAAE,aAAa,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1C,OAAO,CAAC,IAAI,CAAC,CAGf;AAGD,wBAAsB,SAAS,CAC7B,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,aAAa,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1C,OAAO,CAAC,IAAI,CAAC,CAgBf"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ASTStepItem } from "../ast/types";
|
|
2
|
+
export interface ExportAnimationState {
|
|
3
|
+
steps: ASTStepItem[];
|
|
4
|
+
config?: Record<string, string | number | boolean>;
|
|
5
|
+
}
|
|
6
|
+
export declare function bindExportAnimationState(svg: SVGSVGElement, state: ExportAnimationState): void;
|
|
7
|
+
export declare function getExportAnimationState(svg: SVGSVGElement): ExportAnimationState | undefined;
|
|
8
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/export/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACpD;AAID,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,oBAAoB,GAC1B,IAAI,CAEN;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,aAAa,GACjB,oBAAoB,GAAG,SAAS,CAElC"}
|
package/dist/index.cjs
CHANGED
|
@@ -11401,8 +11401,11 @@ class AnimationController {
|
|
|
11401
11401
|
* 4. After guide finishes → fade in rough.js element, remove guide
|
|
11402
11402
|
*/
|
|
11403
11403
|
_animateAnnotation(roughEl, guideD, silent) {
|
|
11404
|
-
if (silent)
|
|
11404
|
+
if (silent) {
|
|
11405
|
+
roughEl.style.opacity = "1";
|
|
11406
|
+
roughEl.style.transition = "none";
|
|
11405
11407
|
return;
|
|
11408
|
+
}
|
|
11406
11409
|
// Hide rough.js element — will be revealed after guide draws
|
|
11407
11410
|
roughEl.style.opacity = "0";
|
|
11408
11411
|
roughEl.style.transition = "none";
|
|
@@ -11692,10 +11695,74 @@ const ANIMATION_CSS = `
|
|
|
11692
11695
|
.skm-caption { pointer-events: none; user-select: none; }
|
|
11693
11696
|
`;
|
|
11694
11697
|
|
|
11698
|
+
const exportAnimationState = new WeakMap();
|
|
11699
|
+
function bindExportAnimationState(svg, state) {
|
|
11700
|
+
exportAnimationState.set(svg, state);
|
|
11701
|
+
}
|
|
11702
|
+
function getExportAnimationState(svg) {
|
|
11703
|
+
return exportAnimationState.get(svg);
|
|
11704
|
+
}
|
|
11705
|
+
|
|
11695
11706
|
// ============================================================
|
|
11696
11707
|
// sketchmark — Export System
|
|
11697
11708
|
// SVG, PNG, Canvas, GIF (stub), MP4 (stub)
|
|
11698
11709
|
// ============================================================
|
|
11710
|
+
const EXPORT_SVG_STYLE_ID = "sketchmark-export-state";
|
|
11711
|
+
const EXPORT_SVG_STATE_CSS = `
|
|
11712
|
+
.ng, .gg, .tg, .ntg, .cg, .eg, .mdg {
|
|
11713
|
+
animation: none !important;
|
|
11714
|
+
transition: none !important;
|
|
11715
|
+
}
|
|
11716
|
+
|
|
11717
|
+
.ng.hidden { opacity: 0 !important; pointer-events: none !important; }
|
|
11718
|
+
.gg.gg-hidden,
|
|
11719
|
+
.tg.gg-hidden,
|
|
11720
|
+
.ntg.gg-hidden,
|
|
11721
|
+
.cg.gg-hidden,
|
|
11722
|
+
.eg.gg-hidden,
|
|
11723
|
+
.mdg.gg-hidden { opacity: 0 !important; }
|
|
11724
|
+
|
|
11725
|
+
.ng.faded,
|
|
11726
|
+
.gg.faded,
|
|
11727
|
+
.tg.faded,
|
|
11728
|
+
.ntg.faded,
|
|
11729
|
+
.cg.faded,
|
|
11730
|
+
.eg.faded,
|
|
11731
|
+
.mdg.faded { opacity: 0.22 !important; }
|
|
11732
|
+
|
|
11733
|
+
.ng.hl path, .ng.hl rect, .ng.hl ellipse, .ng.hl polygon,
|
|
11734
|
+
.tg.hl path, .tg.hl rect,
|
|
11735
|
+
.ntg.hl path, .ntg.hl polygon,
|
|
11736
|
+
.cg.hl path, .cg.hl rect,
|
|
11737
|
+
.mdg.hl text,
|
|
11738
|
+
.eg.hl path, .eg.hl line, .eg.hl polygon { stroke-width: 2.8 !important; }
|
|
11739
|
+
`;
|
|
11740
|
+
function buildExportSnapshot(svg) {
|
|
11741
|
+
const snapshot = svg.cloneNode(true);
|
|
11742
|
+
const animationState = getExportAnimationState(svg);
|
|
11743
|
+
if (animationState?.steps.length) {
|
|
11744
|
+
snapshot.querySelector("#annotation-layer")?.remove();
|
|
11745
|
+
let rc = null;
|
|
11746
|
+
try {
|
|
11747
|
+
rc = rough.svg(snapshot);
|
|
11748
|
+
}
|
|
11749
|
+
catch {
|
|
11750
|
+
rc = null;
|
|
11751
|
+
}
|
|
11752
|
+
const anim = new AnimationController(snapshot, animationState.steps, undefined, rc, animationState.config);
|
|
11753
|
+
anim.goTo(animationState.steps.length - 1);
|
|
11754
|
+
}
|
|
11755
|
+
injectExportStyles(snapshot);
|
|
11756
|
+
return snapshot;
|
|
11757
|
+
}
|
|
11758
|
+
function injectExportStyles(svg) {
|
|
11759
|
+
if (svg.querySelector(`#${EXPORT_SVG_STYLE_ID}`))
|
|
11760
|
+
return;
|
|
11761
|
+
const style = document.createElementNS(SVG_NS$1, "style");
|
|
11762
|
+
style.setAttribute("id", EXPORT_SVG_STYLE_ID);
|
|
11763
|
+
style.textContent = EXPORT_SVG_STATE_CSS;
|
|
11764
|
+
svg.insertBefore(style, svg.firstChild);
|
|
11765
|
+
}
|
|
11699
11766
|
// ── Trigger browser download ──────────────────────────────
|
|
11700
11767
|
function download(blob, filename) {
|
|
11701
11768
|
const url = URL.createObjectURL(blob);
|
|
@@ -11709,15 +11776,15 @@ function download(blob, filename) {
|
|
|
11709
11776
|
}
|
|
11710
11777
|
// ── SVG export ────────────────────────────────────────────
|
|
11711
11778
|
function exportSVG(svg, opts = {}) {
|
|
11712
|
-
const str = svgToString(svg);
|
|
11779
|
+
const str = svgToString(buildExportSnapshot(svg));
|
|
11713
11780
|
const blob = new Blob([str], { type: 'image/svg+xml;charset=utf-8' });
|
|
11714
11781
|
download(blob, opts.filename ?? 'diagram.svg');
|
|
11715
11782
|
}
|
|
11716
11783
|
function getSVGString(svg) {
|
|
11717
|
-
return svgToString(svg);
|
|
11784
|
+
return svgToString(buildExportSnapshot(svg));
|
|
11718
11785
|
}
|
|
11719
11786
|
function getSVGBlob(svg) {
|
|
11720
|
-
return new Blob([svgToString(svg)], { type: 'image/svg+xml;charset=utf-8' });
|
|
11787
|
+
return new Blob([svgToString(buildExportSnapshot(svg))], { type: 'image/svg+xml;charset=utf-8' });
|
|
11721
11788
|
}
|
|
11722
11789
|
// ── PNG export (from SVG via Canvas) ─────────────────────
|
|
11723
11790
|
async function exportPNG(svg, opts = {}) {
|
|
@@ -11743,7 +11810,7 @@ async function svgToPNGDataURL(svg, opts = {}) {
|
|
|
11743
11810
|
ctx.fillStyle = EXPORT.fallbackBg;
|
|
11744
11811
|
ctx.fillRect(0, 0, w, h);
|
|
11745
11812
|
}
|
|
11746
|
-
const svgStr = svgToString(svg);
|
|
11813
|
+
const svgStr = svgToString(buildExportSnapshot(svg));
|
|
11747
11814
|
const blob = new Blob([svgStr], { type: 'image/svg+xml;charset=utf-8' });
|
|
11748
11815
|
const url = URL.createObjectURL(blob);
|
|
11749
11816
|
await new Promise((resolve, reject) => {
|
|
@@ -11761,7 +11828,7 @@ async function exportCanvasPNG(canvas, opts = {}) {
|
|
|
11761
11828
|
}
|
|
11762
11829
|
// ── HTML export (self-contained) ──────────────────────────
|
|
11763
11830
|
function exportHTML(svg, dslSource, opts = {}) {
|
|
11764
|
-
const svgStr = svgToString(svg);
|
|
11831
|
+
const svgStr = svgToString(buildExportSnapshot(svg));
|
|
11765
11832
|
const html = `<!DOCTYPE html>
|
|
11766
11833
|
<html lang="en">
|
|
11767
11834
|
<head>
|
|
@@ -11942,6 +12009,7 @@ function render(options) {
|
|
|
11942
12009
|
}
|
|
11943
12010
|
const containerEl = el instanceof SVGSVGElement ? undefined : el;
|
|
11944
12011
|
anim = new AnimationController(svg, ast.steps, containerEl, rc, ast.config);
|
|
12012
|
+
bindExportAnimationState(svg, { steps: ast.steps, config: ast.config });
|
|
11945
12013
|
}
|
|
11946
12014
|
if (typeof tts === "boolean") {
|
|
11947
12015
|
anim.tts = tts;
|