sketchmark 0.1.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/LICENSE +21 -0
- package/README.md +748 -0
- package/dist/animation/index.d.ts +56 -0
- package/dist/animation/index.d.ts.map +1 -0
- package/dist/ast/index.d.ts +2 -0
- package/dist/ast/index.d.ts.map +1 -0
- package/dist/ast/types.d.ts +159 -0
- package/dist/ast/types.d.ts.map +1 -0
- package/dist/export/index.d.ts +21 -0
- package/dist/export/index.d.ts.map +1 -0
- package/dist/index.cjs +4706 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +51 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4669 -0
- package/dist/index.js.map +1 -0
- package/dist/layout/index.d.ts +4 -0
- package/dist/layout/index.d.ts.map +1 -0
- package/dist/parser/index.d.ts +9 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/tokenizer.d.ts +10 -0
- package/dist/parser/tokenizer.d.ts.map +1 -0
- package/dist/renderer/canvas/index.d.ts +14 -0
- package/dist/renderer/canvas/index.d.ts.map +1 -0
- package/dist/renderer/canvas/roughChartCanvas.d.ts +16 -0
- package/dist/renderer/canvas/roughChartCanvas.d.ts.map +1 -0
- package/dist/renderer/roughChart.d.ts +57 -0
- package/dist/renderer/roughChart.d.ts.map +1 -0
- package/dist/renderer/svg/index.d.ts +13 -0
- package/dist/renderer/svg/index.d.ts.map +1 -0
- package/dist/renderer/svg/roughChartSVG.d.ts +12 -0
- package/dist/renderer/svg/roughChartSVG.d.ts.map +1 -0
- package/dist/scene/index.d.ts +118 -0
- package/dist/scene/index.d.ts.map +1 -0
- package/dist/sketchmark.iife.js +4710 -0
- package/dist/theme/index.d.ts +35 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/utils/index.d.ts +14 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/package.json +66 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { ASTStep } from "../ast/types";
|
|
2
|
+
export type AnimationEventType = "step-change" | "step-complete" | "animation-reset" | "animation-start" | "animation-end";
|
|
3
|
+
export interface AnimationEvent {
|
|
4
|
+
type: AnimationEventType;
|
|
5
|
+
stepIndex: number;
|
|
6
|
+
step?: ASTStep;
|
|
7
|
+
total: number;
|
|
8
|
+
}
|
|
9
|
+
export type AnimationListener = (e: AnimationEvent) => void;
|
|
10
|
+
export declare function getDrawTargetEdgeIds(steps: ASTStep[]): Set<string>;
|
|
11
|
+
export declare function getDrawTargetNodeIds(steps: ASTStep[]): Set<string>;
|
|
12
|
+
export declare function getDrawTargetTableIds(steps: ASTStep[]): Set<string>;
|
|
13
|
+
export declare function getDrawTargetNoteIds(steps: ASTStep[]): Set<string>;
|
|
14
|
+
export declare function getDrawTargetChartIds(steps: ASTStep[]): Set<string>;
|
|
15
|
+
export declare class AnimationController {
|
|
16
|
+
private svg;
|
|
17
|
+
readonly steps: ASTStep[];
|
|
18
|
+
private _step;
|
|
19
|
+
private _transforms;
|
|
20
|
+
private _listeners;
|
|
21
|
+
readonly drawTargetEdges: Set<string>;
|
|
22
|
+
readonly drawTargetNodes: Set<string>;
|
|
23
|
+
readonly drawTargetGroups: Set<string>;
|
|
24
|
+
readonly drawTargetTables: Set<string>;
|
|
25
|
+
readonly drawTargetNotes: Set<string>;
|
|
26
|
+
readonly drawTargetCharts: Set<string>;
|
|
27
|
+
get drawTargets(): Set<string>;
|
|
28
|
+
constructor(svg: SVGSVGElement, steps: ASTStep[]);
|
|
29
|
+
get currentStep(): number;
|
|
30
|
+
get total(): number;
|
|
31
|
+
get canNext(): boolean;
|
|
32
|
+
get canPrev(): boolean;
|
|
33
|
+
get atEnd(): boolean;
|
|
34
|
+
on(listener: AnimationListener): () => void;
|
|
35
|
+
private emit;
|
|
36
|
+
reset(): void;
|
|
37
|
+
next(): boolean;
|
|
38
|
+
prev(): boolean;
|
|
39
|
+
play(msPerStep?: number): Promise<void>;
|
|
40
|
+
goTo(index: number): void;
|
|
41
|
+
private _clearAll;
|
|
42
|
+
private _applyStep;
|
|
43
|
+
private _doHighlight;
|
|
44
|
+
private _doFade;
|
|
45
|
+
private _writeTransform;
|
|
46
|
+
private _doMove;
|
|
47
|
+
private _doScale;
|
|
48
|
+
private _doRotate;
|
|
49
|
+
private _doDraw;
|
|
50
|
+
private _doErase;
|
|
51
|
+
private _doShowHide;
|
|
52
|
+
private _doPulse;
|
|
53
|
+
private _doColor;
|
|
54
|
+
}
|
|
55
|
+
export declare const ANIMATION_CSS = "\n.ng, .gg, .tg, .ntg, .cg, .eg {\n transform-box: fill-box;\n transform-origin: center;\n transition: filter 0.3s, opacity 0.35s;\n}\n\n/* highlight */\n.ng.hl path, .ng.hl rect, .ng.hl ellipse, .ng.hl polygon,\n.tg.hl path, .tg.hl rect,\n.ntg.hl path, .ntg.hl polygon,\n.cg.hl path, .cg.hl rect,\n.eg.hl path, .eg.hl line, .eg.hl polygon { stroke-width: 2.8 !important; }\n\n.ng.hl, .tg.hl, .ntg.hl, .cg.hl, .eg.hl {\n animation: ng-pulse 1.4s ease-in-out infinite;\n}\n@keyframes ng-pulse {\n 0%, 100% { filter: drop-shadow(0 0 7px rgba(200,84,40,.6)); }\n 50% { filter: drop-shadow(0 0 14px rgba(200,84,40,.9)); }\n}\n\n/* fade */\n.ng.faded, .gg.faded, .tg.faded, .ntg.faded, .cg.faded, .eg.faded { opacity: 0.22; }\n\n.ng.hidden { opacity: 0; pointer-events: none; }\n.eg.draw-hidden { opacity: 0; }\n.eg.draw-reveal { opacity: 1; }\n.gg.gg-hidden { opacity: 0; }\n.tg.gg-hidden { opacity: 0; }\n.ntg.gg-hidden { opacity: 0; }\n.cg.gg-hidden { opacity: 0; }\n";
|
|
56
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/animation/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,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,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;AA2D5D,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAQlE;AACD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAOlE;AAGD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAOnE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAOlE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAOnE;AAsHD,qBAAa,mBAAmB;IAwB5B,OAAO,CAAC,GAAG;aACK,KAAK,EAAE,OAAO,EAAE;IAxBlC,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,WAAW,CAQf;IACJ,OAAO,CAAC,UAAU,CAA2B;IAC7C,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEvC,IAAI,WAAW,IAAI,GAAG,CAAC,MAAM,CAAC,CAE7B;gBAGS,GAAG,EAAE,aAAa,EACV,KAAK,EAAE,OAAO,EAAE;IAqClC,IAAI,WAAW,IAAI,MAAM,CAExB;IACD,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,OAAO,IAAI,OAAO,CAErB;IACD,IAAI,OAAO,IAAI,OAAO,CAErB;IACD,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,EAAE,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,IAAI;IAM3C,OAAO,CAAC,IAAI;IAUZ,KAAK,IAAI,IAAI;IAMb,IAAI,IAAI,OAAO;IASf,IAAI,IAAI,OAAO;IAST,IAAI,CAAC,SAAS,SAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1C,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAczB,OAAO,CAAC,SAAS;IAmGjB,OAAO,CAAC,UAAU;IA4ClB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,eAAe;IAiCvB,OAAO,CAAC,OAAO;IAkBf,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,OAAO;IAyIf,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,QAAQ;IAYlB,OAAO,CAAC,QAAQ;CA6Bf;AAED,eAAO,MAAM,aAAa,y9BAgCzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
export type NodeShape = 'box' | 'circle' | 'diamond' | 'hexagon' | 'triangle' | 'cylinder' | 'parallelogram' | 'text' | 'image';
|
|
2
|
+
export type EdgeConnector = '->' | '<-' | '<->' | '-->' | '<-->' | '---' | '--';
|
|
3
|
+
export type LayoutType = 'row' | 'column' | 'grid';
|
|
4
|
+
export type AlignItems = 'start' | 'center' | 'end';
|
|
5
|
+
export type JustifyContent = 'start' | 'center' | 'end' | 'space-between' | 'space-around';
|
|
6
|
+
export type AnimationAction = 'highlight' | 'fade' | 'unfade' | 'draw' | 'erase' | 'show' | 'hide' | 'pulse' | 'move' | 'color' | 'scale' | 'rotate';
|
|
7
|
+
export type AnimationTrigger = 'on-click';
|
|
8
|
+
export interface StyleProps {
|
|
9
|
+
fill?: string;
|
|
10
|
+
stroke?: string;
|
|
11
|
+
strokeWidth?: number;
|
|
12
|
+
color?: string;
|
|
13
|
+
opacity?: number;
|
|
14
|
+
radius?: number;
|
|
15
|
+
shadow?: boolean;
|
|
16
|
+
fontSize?: number;
|
|
17
|
+
fontWeight?: number | string;
|
|
18
|
+
labelColor?: string;
|
|
19
|
+
[key: string]: unknown;
|
|
20
|
+
strokeDash?: number[];
|
|
21
|
+
}
|
|
22
|
+
export type GroupChildRef = {
|
|
23
|
+
kind: 'node';
|
|
24
|
+
id: string;
|
|
25
|
+
} | {
|
|
26
|
+
kind: 'group';
|
|
27
|
+
id: string;
|
|
28
|
+
} | {
|
|
29
|
+
kind: 'table';
|
|
30
|
+
id: string;
|
|
31
|
+
} | {
|
|
32
|
+
kind: 'note';
|
|
33
|
+
id: string;
|
|
34
|
+
} | {
|
|
35
|
+
kind: 'chart';
|
|
36
|
+
id: string;
|
|
37
|
+
};
|
|
38
|
+
export type RootItemRef = {
|
|
39
|
+
kind: 'node';
|
|
40
|
+
id: string;
|
|
41
|
+
} | {
|
|
42
|
+
kind: 'group';
|
|
43
|
+
id: string;
|
|
44
|
+
} | {
|
|
45
|
+
kind: 'table';
|
|
46
|
+
id: string;
|
|
47
|
+
} | {
|
|
48
|
+
kind: 'note';
|
|
49
|
+
id: string;
|
|
50
|
+
} | {
|
|
51
|
+
kind: 'chart';
|
|
52
|
+
id: string;
|
|
53
|
+
};
|
|
54
|
+
export interface ASTNode {
|
|
55
|
+
kind: 'node';
|
|
56
|
+
id: string;
|
|
57
|
+
shape: NodeShape;
|
|
58
|
+
label: string;
|
|
59
|
+
groupId?: string;
|
|
60
|
+
imageUrl?: string;
|
|
61
|
+
width?: number;
|
|
62
|
+
height?: number;
|
|
63
|
+
theme?: string;
|
|
64
|
+
style?: StyleProps;
|
|
65
|
+
meta?: Record<string, string>;
|
|
66
|
+
}
|
|
67
|
+
export interface ASTEdge {
|
|
68
|
+
kind: 'edge';
|
|
69
|
+
id: string;
|
|
70
|
+
from: string;
|
|
71
|
+
to: string;
|
|
72
|
+
connector: EdgeConnector;
|
|
73
|
+
label?: string;
|
|
74
|
+
dashed?: boolean;
|
|
75
|
+
bidirectional?: boolean;
|
|
76
|
+
theme?: string;
|
|
77
|
+
style?: StyleProps;
|
|
78
|
+
}
|
|
79
|
+
export interface ASTGroup {
|
|
80
|
+
kind: 'group';
|
|
81
|
+
id: string;
|
|
82
|
+
label: string;
|
|
83
|
+
children: GroupChildRef[];
|
|
84
|
+
layout?: LayoutType;
|
|
85
|
+
columns?: number;
|
|
86
|
+
padding?: number;
|
|
87
|
+
gap?: number;
|
|
88
|
+
align?: AlignItems;
|
|
89
|
+
justify?: JustifyContent;
|
|
90
|
+
theme?: string;
|
|
91
|
+
style?: StyleProps;
|
|
92
|
+
width?: number;
|
|
93
|
+
height?: number;
|
|
94
|
+
}
|
|
95
|
+
export interface ASTStep {
|
|
96
|
+
kind: 'step';
|
|
97
|
+
action: AnimationAction;
|
|
98
|
+
target: string;
|
|
99
|
+
trigger?: AnimationTrigger;
|
|
100
|
+
delay?: number;
|
|
101
|
+
duration?: number;
|
|
102
|
+
value?: string;
|
|
103
|
+
dx?: number;
|
|
104
|
+
dy?: number;
|
|
105
|
+
factor?: number;
|
|
106
|
+
deg?: number;
|
|
107
|
+
}
|
|
108
|
+
export interface ASTChartData {
|
|
109
|
+
headers: string[];
|
|
110
|
+
rows: (string | number)[][];
|
|
111
|
+
}
|
|
112
|
+
export interface ASTChart {
|
|
113
|
+
kind: 'chart';
|
|
114
|
+
id: string;
|
|
115
|
+
chartType: 'bar' | 'line' | 'pie' | 'donut' | 'scatter' | 'area';
|
|
116
|
+
title?: string;
|
|
117
|
+
data: ASTChartData;
|
|
118
|
+
width?: number;
|
|
119
|
+
height?: number;
|
|
120
|
+
theme?: string;
|
|
121
|
+
style?: StyleProps;
|
|
122
|
+
}
|
|
123
|
+
export interface ASTTableRow {
|
|
124
|
+
kind: 'header' | 'data';
|
|
125
|
+
cells: string[];
|
|
126
|
+
}
|
|
127
|
+
export interface ASTTable {
|
|
128
|
+
kind: 'table';
|
|
129
|
+
id: string;
|
|
130
|
+
label: string;
|
|
131
|
+
rows: ASTTableRow[];
|
|
132
|
+
theme?: string;
|
|
133
|
+
style?: StyleProps;
|
|
134
|
+
}
|
|
135
|
+
export interface ASTNote {
|
|
136
|
+
kind: 'note';
|
|
137
|
+
id: string;
|
|
138
|
+
label: string;
|
|
139
|
+
theme?: string;
|
|
140
|
+
style?: StyleProps;
|
|
141
|
+
}
|
|
142
|
+
export interface DiagramAST {
|
|
143
|
+
kind: 'diagram';
|
|
144
|
+
title?: string;
|
|
145
|
+
description?: string;
|
|
146
|
+
layout: LayoutType;
|
|
147
|
+
nodes: ASTNode[];
|
|
148
|
+
edges: ASTEdge[];
|
|
149
|
+
groups: ASTGroup[];
|
|
150
|
+
tables: ASTTable[];
|
|
151
|
+
notes: ASTNote[];
|
|
152
|
+
steps: ASTStep[];
|
|
153
|
+
charts: ASTChart[];
|
|
154
|
+
styles: Record<string, StyleProps>;
|
|
155
|
+
themes: Record<string, StyleProps>;
|
|
156
|
+
config: Record<string, string | number | boolean>;
|
|
157
|
+
rootOrder: RootItemRef[];
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ast/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type ExportFormat = 'svg' | 'png' | 'html' | 'canvas' | 'gif' | 'mp4';
|
|
2
|
+
export interface ExportOptions {
|
|
3
|
+
filename?: string;
|
|
4
|
+
scale?: number;
|
|
5
|
+
background?: string;
|
|
6
|
+
quality?: number;
|
|
7
|
+
}
|
|
8
|
+
export declare function exportSVG(svg: SVGSVGElement, opts?: ExportOptions): void;
|
|
9
|
+
export declare function getSVGString(svg: SVGSVGElement): string;
|
|
10
|
+
export declare function getSVGBlob(svg: SVGSVGElement): Blob;
|
|
11
|
+
export declare function exportPNG(svg: SVGSVGElement, opts?: ExportOptions): Promise<void>;
|
|
12
|
+
export declare function svgToPNGDataURL(svg: SVGSVGElement, opts?: ExportOptions): Promise<string>;
|
|
13
|
+
export declare function exportCanvasPNG(canvas: HTMLCanvasElement, opts?: ExportOptions): Promise<void>;
|
|
14
|
+
export declare function exportHTML(svg: SVGSVGElement, dslSource: string, opts?: ExportOptions): void;
|
|
15
|
+
export declare function exportGIF(frames: HTMLCanvasElement[], opts?: ExportOptions & {
|
|
16
|
+
fps?: number;
|
|
17
|
+
}): Promise<void>;
|
|
18
|
+
export declare function exportMP4(canvas: HTMLCanvasElement, durationMs: number, opts?: ExportOptions & {
|
|
19
|
+
fps?: number;
|
|
20
|
+
}): Promise<Blob>;
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/export/index.ts"],"names":[],"mappings":"AAQA,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;AAcD,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"}
|