sketchmark 1.2.1 → 1.3.0
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/README.md +48 -68
- package/dist/animation/index.d.ts.map +1 -1
- package/dist/ast/types.d.ts +3 -0
- package/dist/ast/types.d.ts.map +1 -1
- package/dist/index.cjs +112 -24
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +112 -24
- package/dist/index.js.map +1 -1
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/renderer/canvas/index.d.ts.map +1 -1
- package/dist/renderer/svg/index.d.ts.map +1 -1
- package/dist/scene/index.d.ts +3 -0
- package/dist/scene/index.d.ts.map +1 -1
- package/dist/sketchmark.iife.js +112 -24
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -200,11 +200,9 @@ end
|
|
|
200
200
|
import { render } from 'sketchmark';
|
|
201
201
|
|
|
202
202
|
|
|
203
|
-
const dsl = `
|
|
204
|
-
diagram
|
|
205
|
-
title label="My Architecture"
|
|
206
|
-
layout row
|
|
207
|
-
config gap=60
|
|
203
|
+
const dsl = `
|
|
204
|
+
diagram layout=row gap=60
|
|
205
|
+
title label="My Architecture"
|
|
208
206
|
|
|
209
207
|
box client label="Client App" width=140 height=55
|
|
210
208
|
box server label="API Server" width=140 height=55
|
|
@@ -297,29 +295,26 @@ const dsl = `
|
|
|
297
295
|
|
|
298
296
|
## DSL Syntax Overview
|
|
299
297
|
|
|
300
|
-
Every diagram follows this structure:
|
|
301
|
-
|
|
302
|
-
```
|
|
303
|
-
diagram
|
|
304
|
-
[title label="My Title"]
|
|
305
|
-
[
|
|
306
|
-
|
|
307
|
-
[
|
|
308
|
-
|
|
309
|
-
[nodes, edges, groups, tables, charts, markdown blocks]
|
|
298
|
+
Every diagram follows this structure:
|
|
299
|
+
|
|
300
|
+
```
|
|
301
|
+
diagram [layout=row|column|grid|absolute] [width=N] [height=N] [margin=N] [gap=N] [theme=name] [font=name] [pointer=type] [tts=true|false] [fill="..."] [stroke="..."] [stroke-width=N]
|
|
302
|
+
[title label="My Title"]
|
|
303
|
+
[theme name fill="..." stroke="..." color="..."]
|
|
304
|
+
|
|
305
|
+
[nodes, edges, groups, tables, charts, markdown blocks]
|
|
310
306
|
|
|
311
307
|
[step action target ...]
|
|
312
308
|
end
|
|
313
309
|
```
|
|
314
310
|
|
|
315
|
-
When `layout=absolute`, authored elements use `x`/`y` coordinates instead of flow layout:
|
|
316
|
-
|
|
317
|
-
```
|
|
318
|
-
diagram
|
|
319
|
-
|
|
320
|
-
box
|
|
321
|
-
|
|
322
|
-
start --> finish
|
|
311
|
+
When `layout=absolute`, authored elements use `x`/`y` coordinates instead of flow layout:
|
|
312
|
+
|
|
313
|
+
```
|
|
314
|
+
diagram layout=absolute
|
|
315
|
+
box start x=40 y=60 label="Start"
|
|
316
|
+
box finish x=240 y=140 label="Finish"
|
|
317
|
+
start --> finish
|
|
323
318
|
end
|
|
324
319
|
```
|
|
325
320
|
|
|
@@ -611,7 +606,7 @@ Another paragraph here.
|
|
|
611
606
|
|
|
612
607
|
### Global Palette Themes
|
|
613
608
|
|
|
614
|
-
Activate via `
|
|
609
|
+
Activate via `diagram theme=<name>` in the DSL.
|
|
615
610
|
|
|
616
611
|
| Theme Name | Description |
|
|
617
612
|
|------------|-------------|
|
|
@@ -625,9 +620,9 @@ Activate via `config theme=<name>` in the DSL.
|
|
|
625
620
|
| `rose` | Pink/rose |
|
|
626
621
|
| `midnight` | GitHub dark-style |
|
|
627
622
|
|
|
628
|
-
```
|
|
629
|
-
# Activate in DSL
|
|
630
|
-
|
|
623
|
+
```
|
|
624
|
+
# Activate in DSL
|
|
625
|
+
diagram theme=ocean
|
|
631
626
|
|
|
632
627
|
# Or pass as render option
|
|
633
628
|
render({ ..., svgOptions: { theme: 'dark' } });
|
|
@@ -655,7 +650,7 @@ group services label="Services" theme=muted items=[client,server,db]
|
|
|
655
650
|
|
|
656
651
|
## Fonts
|
|
657
652
|
|
|
658
|
-
Set globally with `
|
|
653
|
+
Set globally with `diagram font=<name>` or per-element with `font=<name>`.
|
|
659
654
|
|
|
660
655
|
| Font Name | Family | Type |
|
|
661
656
|
|-----------|--------|------|
|
|
@@ -671,12 +666,12 @@ Set globally with `config font=<name>` or per-element with `font=<name>`.
|
|
|
671
666
|
| `mono` | Courier New | Monospace |
|
|
672
667
|
| `serif` | Georgia | Serif |
|
|
673
668
|
|
|
674
|
-
```
|
|
675
|
-
# Global font
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
# Per-element font
|
|
679
|
-
box a label="Handwritten" font=caveat
|
|
669
|
+
```
|
|
670
|
+
# Global font
|
|
671
|
+
diagram font=caveat
|
|
672
|
+
|
|
673
|
+
# Per-element font
|
|
674
|
+
box a label="Handwritten" font=caveat
|
|
680
675
|
box b label="Mono" font=dm-mono
|
|
681
676
|
```
|
|
682
677
|
|
|
@@ -735,7 +730,7 @@ step narrate "This is the most important step" pace=slow
|
|
|
735
730
|
|
|
736
731
|
### Annotations
|
|
737
732
|
|
|
738
|
-
Hand-drawn annotation marks powered by rough.js. A clean guide path draws in first, then the rough sketch fades in. If `
|
|
733
|
+
Hand-drawn annotation marks powered by rough.js. A clean guide path draws in first, then the rough sketch fades in. If `diagram pointer=chalk|dot|hand` is set, a pointer follows the annotation stroke.
|
|
739
734
|
|
|
740
735
|
```
|
|
741
736
|
step circle leaf # circle around "leaf" node
|
|
@@ -892,7 +887,7 @@ Enable browser-native speech synthesis for narrate steps. You can drive it from
|
|
|
892
887
|
|
|
893
888
|
```
|
|
894
889
|
# In DSL
|
|
895
|
-
|
|
890
|
+
diagram tts=true
|
|
896
891
|
```
|
|
897
892
|
|
|
898
893
|
```javascript
|
|
@@ -924,9 +919,9 @@ Speech cancels automatically on `reset()`, `prev()`, `destroy()`, or when a new
|
|
|
924
919
|
Show a pointer that follows annotation strokes (circle, underline, crossout, bracket):
|
|
925
920
|
|
|
926
921
|
```
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
922
|
+
diagram pointer=chalk # white dot with outline
|
|
923
|
+
diagram pointer=dot # colored dot
|
|
924
|
+
diagram pointer=hand # hand cursor
|
|
930
925
|
```
|
|
931
926
|
|
|
932
927
|
The pointer only appears during annotation steps — it follows the guide path as the annotation draws in, then fades out.
|
|
@@ -953,7 +948,7 @@ For group targets, these actions also apply recursively to the same subtree:
|
|
|
953
948
|
|
|
954
949
|
## Config Options
|
|
955
950
|
|
|
956
|
-
Set
|
|
951
|
+
Set on the opening `diagram` line with `key=value`:
|
|
957
952
|
|
|
958
953
|
| Key | Description | Default |
|
|
959
954
|
|-----|-------------|---------|
|
|
@@ -968,19 +963,10 @@ Set in DSL with `config key=value`:
|
|
|
968
963
|
| `pointer` | Annotation pointer type | `none` |
|
|
969
964
|
| `tts` | Enable browser text-to-speech | `off` |
|
|
970
965
|
|
|
971
|
-
```
|
|
972
|
-
diagram
|
|
973
|
-
title label="My System"
|
|
974
|
-
|
|
975
|
-
config gap=60
|
|
976
|
-
config margin=40
|
|
977
|
-
config theme=ocean
|
|
978
|
-
config font=caveat
|
|
979
|
-
config pointer=chalk
|
|
980
|
-
config tts=on
|
|
981
|
-
config title-size=24
|
|
982
|
-
config title-color="#001f5b"
|
|
983
|
-
```
|
|
966
|
+
```
|
|
967
|
+
diagram layout=row gap=60 margin=40 theme=ocean font=caveat pointer=chalk tts=on title-size=24 title-color="#001f5b"
|
|
968
|
+
title label="My System"
|
|
969
|
+
```
|
|
984
970
|
|
|
985
971
|
---
|
|
986
972
|
|
|
@@ -1163,14 +1149,12 @@ Groups support `layout=absolute` in addition to flow layouts. In absolute groups
|
|
|
1163
1149
|
|
|
1164
1150
|
| Keyword | Category | Example |
|
|
1165
1151
|
|---------|----------|---------|
|
|
1166
|
-
| `diagram` | Structure | `diagram` |
|
|
1167
|
-
| `end` | Structure | `end` |
|
|
1168
|
-
| `title` | Meta | `title label="My Diagram"` |
|
|
1169
|
-
| `description` | Meta | `description "Some text"` |
|
|
1170
|
-
| `
|
|
1171
|
-
| `
|
|
1172
|
-
| `theme` | Styling | `theme primary fill="#e8f4ff" stroke="#0044cc" color="#003399"` |
|
|
1173
|
-
| `style` | Styling | `style nodeId fill="#ff0" stroke="#000"` |
|
|
1152
|
+
| `diagram` | Structure | `diagram` |
|
|
1153
|
+
| `end` | Structure | `end` |
|
|
1154
|
+
| `title` | Meta | `title label="My Diagram"` |
|
|
1155
|
+
| `description` | Meta | `description "Some text"` |
|
|
1156
|
+
| `theme` | Styling | `theme primary fill="#e8f4ff" stroke="#0044cc" color="#003399"` |
|
|
1157
|
+
| `style` | Styling | `style nodeId fill="#ff0" stroke="#000"` |
|
|
1174
1158
|
| `box` | Node | `box myId label="Label" width=120 height=50` |
|
|
1175
1159
|
| `circle` | Node | `circle myId label="Label"` |
|
|
1176
1160
|
| `diamond` | Node | `diamond myId label="Decision?"` |
|
|
@@ -1228,13 +1212,9 @@ Groups support `layout=absolute` in addition to flow layouts. In absolute groups
|
|
|
1228
1212
|
|
|
1229
1213
|
This example demonstrates most features including narration, annotations, beats, pacing, and pointer:
|
|
1230
1214
|
|
|
1231
|
-
```
|
|
1232
|
-
diagram
|
|
1233
|
-
title label="How the Internet Delivers a Webpage"
|
|
1234
|
-
layout row
|
|
1235
|
-
config gap=50
|
|
1236
|
-
config pointer=chalk
|
|
1237
|
-
config tts=on
|
|
1215
|
+
```
|
|
1216
|
+
diagram layout=row gap=50 pointer=chalk tts=on
|
|
1217
|
+
title label="How the Internet Delivers a Webpage"
|
|
1238
1218
|
|
|
1239
1219
|
# Define named themes
|
|
1240
1220
|
theme primary fill="#e8f4ff" stroke="#0044cc" color="#003399"
|
|
@@ -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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"}
|
package/dist/ast/types.d.ts
CHANGED
package/dist/ast/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ast/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ast/types.ts"],"names":[],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -379,6 +379,7 @@ function parse(src, options = {}) {
|
|
|
379
379
|
const ast = {
|
|
380
380
|
kind: "diagram",
|
|
381
381
|
layout: "column",
|
|
382
|
+
style: {},
|
|
382
383
|
nodes: [],
|
|
383
384
|
edges: [],
|
|
384
385
|
groups: [],
|
|
@@ -435,6 +436,54 @@ function parse(src, options = {}) {
|
|
|
435
436
|
}
|
|
436
437
|
return props;
|
|
437
438
|
}
|
|
439
|
+
function parseConfigValue(value) {
|
|
440
|
+
if (value === "true" || value === "on")
|
|
441
|
+
return true;
|
|
442
|
+
if (value === "false" || value === "off")
|
|
443
|
+
return false;
|
|
444
|
+
const numeric = Number(value);
|
|
445
|
+
return Number.isNaN(numeric) ? value : numeric;
|
|
446
|
+
}
|
|
447
|
+
function applyRootProps(props) {
|
|
448
|
+
const styleProps = propsToStyle(props);
|
|
449
|
+
const styleKeys = new Set([
|
|
450
|
+
"fill",
|
|
451
|
+
"stroke",
|
|
452
|
+
"stroke-width",
|
|
453
|
+
"color",
|
|
454
|
+
"opacity",
|
|
455
|
+
"font-size",
|
|
456
|
+
"font-weight",
|
|
457
|
+
"font",
|
|
458
|
+
"dash",
|
|
459
|
+
"stroke-dash",
|
|
460
|
+
"padding",
|
|
461
|
+
"text-align",
|
|
462
|
+
"vertical-align",
|
|
463
|
+
"line-height",
|
|
464
|
+
"letter-spacing",
|
|
465
|
+
]);
|
|
466
|
+
ast.style = { ...(ast.style ?? {}), ...styleProps };
|
|
467
|
+
if (props.layout) {
|
|
468
|
+
ast.layout = props.layout;
|
|
469
|
+
}
|
|
470
|
+
if (props.width !== undefined) {
|
|
471
|
+
ast.width = parseFloat(props.width);
|
|
472
|
+
}
|
|
473
|
+
if (props.height !== undefined) {
|
|
474
|
+
ast.height = parseFloat(props.height);
|
|
475
|
+
}
|
|
476
|
+
if (props.font !== undefined) {
|
|
477
|
+
ast.config.font = parseConfigValue(props.font);
|
|
478
|
+
}
|
|
479
|
+
for (const [key, value] of Object.entries(props)) {
|
|
480
|
+
if (key === "layout" || key === "width" || key === "height")
|
|
481
|
+
continue;
|
|
482
|
+
if (styleKeys.has(key))
|
|
483
|
+
continue;
|
|
484
|
+
ast.config[key] = parseConfigValue(value);
|
|
485
|
+
}
|
|
486
|
+
}
|
|
438
487
|
function parseGroupProps(toks, startIndex) {
|
|
439
488
|
const props = {};
|
|
440
489
|
const itemIds = [];
|
|
@@ -916,8 +965,12 @@ function parse(src, options = {}) {
|
|
|
916
965
|
};
|
|
917
966
|
}
|
|
918
967
|
skipNL();
|
|
919
|
-
if (cur().value === "diagram")
|
|
968
|
+
if (cur().value === "diagram") {
|
|
920
969
|
skip();
|
|
970
|
+
const toks = lineTokens();
|
|
971
|
+
const props = parseSimpleProps(toks, 0);
|
|
972
|
+
applyRootProps(props);
|
|
973
|
+
}
|
|
921
974
|
skipNL();
|
|
922
975
|
while (cur().type !== "EOF" && cur().value !== "end") {
|
|
923
976
|
skipNL();
|
|
@@ -928,7 +981,7 @@ function parse(src, options = {}) {
|
|
|
928
981
|
continue;
|
|
929
982
|
}
|
|
930
983
|
if (v === "diagram") {
|
|
931
|
-
|
|
984
|
+
lineTokens();
|
|
932
985
|
continue;
|
|
933
986
|
}
|
|
934
987
|
if (v === "end")
|
|
@@ -938,10 +991,7 @@ function parse(src, options = {}) {
|
|
|
938
991
|
continue;
|
|
939
992
|
}
|
|
940
993
|
if (v === "layout") {
|
|
941
|
-
|
|
942
|
-
ast.layout = cur().value ?? "column";
|
|
943
|
-
skip();
|
|
944
|
-
continue;
|
|
994
|
+
throw new ParseError(`Root layout must be declared on the diagram line, e.g. diagram layout=absolute`, t.line, t.col);
|
|
945
995
|
}
|
|
946
996
|
if (v === "title") {
|
|
947
997
|
skip();
|
|
@@ -965,15 +1015,7 @@ function parse(src, options = {}) {
|
|
|
965
1015
|
continue;
|
|
966
1016
|
}
|
|
967
1017
|
if (v === "config") {
|
|
968
|
-
|
|
969
|
-
const key = cur().value;
|
|
970
|
-
skip();
|
|
971
|
-
if (cur().type === "EQUALS")
|
|
972
|
-
skip();
|
|
973
|
-
const value = cur().value;
|
|
974
|
-
skip();
|
|
975
|
-
ast.config[key] = value;
|
|
976
|
-
continue;
|
|
1018
|
+
throw new ParseError(`Root config must be declared on the diagram line, e.g. diagram gap=40 margin=0 tts=true`, t.line, t.col);
|
|
977
1019
|
}
|
|
978
1020
|
if (v === "style") {
|
|
979
1021
|
skip();
|
|
@@ -3626,6 +3668,7 @@ function buildSceneGraph(ast) {
|
|
|
3626
3668
|
title: ast.title,
|
|
3627
3669
|
description: ast.description,
|
|
3628
3670
|
layout: ast.layout,
|
|
3671
|
+
style: ast.style ?? {},
|
|
3629
3672
|
nodes,
|
|
3630
3673
|
edges,
|
|
3631
3674
|
groups,
|
|
@@ -3638,6 +3681,8 @@ function buildSceneGraph(ast) {
|
|
|
3638
3681
|
rootOrder: ast.rootOrder ?? [],
|
|
3639
3682
|
width: 0,
|
|
3640
3683
|
height: 0,
|
|
3684
|
+
fixedWidth: ast.width,
|
|
3685
|
+
fixedHeight: ast.height,
|
|
3641
3686
|
};
|
|
3642
3687
|
}
|
|
3643
3688
|
// ── Helpers ───────────────────────────────────────────────
|
|
@@ -5214,8 +5259,10 @@ function computeBounds(sg, margin) {
|
|
|
5214
5259
|
...sg.charts.map((c) => c.y + c.h),
|
|
5215
5260
|
...sg.markdowns.map((m) => m.y + m.h),
|
|
5216
5261
|
];
|
|
5217
|
-
|
|
5218
|
-
|
|
5262
|
+
const autoWidth = (allX.length ? Math.max(...allX) : 400) + margin;
|
|
5263
|
+
const autoHeight = (allY.length ? Math.max(...allY) : 300) + margin;
|
|
5264
|
+
sg.width = sg.fixedWidth ?? autoWidth;
|
|
5265
|
+
sg.height = sg.fixedHeight ?? autoHeight;
|
|
5219
5266
|
}
|
|
5220
5267
|
// ── Public entry point ────────────────────────────────────
|
|
5221
5268
|
function layout(sg) {
|
|
@@ -8251,7 +8298,7 @@ function renderToSVG(sg, container, options = {}) {
|
|
|
8251
8298
|
const palette = resolvePalette(themeName);
|
|
8252
8299
|
// ── Diagram-level font ──────────────────────────────────
|
|
8253
8300
|
const diagramFont = (() => {
|
|
8254
|
-
const raw = String(sg.config["font"] ?? "");
|
|
8301
|
+
const raw = String(sg.style?.font ?? sg.config["font"] ?? "");
|
|
8255
8302
|
if (raw) {
|
|
8256
8303
|
loadFont(raw);
|
|
8257
8304
|
return resolveFont(raw);
|
|
@@ -8281,8 +8328,22 @@ function renderToSVG(sg, container, options = {}) {
|
|
|
8281
8328
|
bgRect.setAttribute("y", "0");
|
|
8282
8329
|
bgRect.setAttribute("width", String(sg.width));
|
|
8283
8330
|
bgRect.setAttribute("height", String(sg.height));
|
|
8284
|
-
bgRect.setAttribute("fill", palette.background);
|
|
8331
|
+
bgRect.setAttribute("fill", String(sg.style?.fill ?? palette.background));
|
|
8285
8332
|
svg.appendChild(bgRect);
|
|
8333
|
+
const rootStroke = sg.style?.stroke;
|
|
8334
|
+
const rootStrokeWidth = Number(sg.style?.strokeWidth ?? 0);
|
|
8335
|
+
if (rootStroke && rootStroke !== "none" && rootStrokeWidth > 0) {
|
|
8336
|
+
const frame = se("rect");
|
|
8337
|
+
const inset = rootStrokeWidth / 2;
|
|
8338
|
+
frame.setAttribute("x", String(inset));
|
|
8339
|
+
frame.setAttribute("y", String(inset));
|
|
8340
|
+
frame.setAttribute("width", String(Math.max(0, sg.width - rootStrokeWidth)));
|
|
8341
|
+
frame.setAttribute("height", String(Math.max(0, sg.height - rootStrokeWidth)));
|
|
8342
|
+
frame.setAttribute("fill", "none");
|
|
8343
|
+
frame.setAttribute("stroke", String(rootStroke));
|
|
8344
|
+
frame.setAttribute("stroke-width", String(rootStrokeWidth));
|
|
8345
|
+
svg.appendChild(frame);
|
|
8346
|
+
}
|
|
8286
8347
|
}
|
|
8287
8348
|
const rc = rough.svg(svg);
|
|
8288
8349
|
// ── Title ────────────────────────────────────────────────
|
|
@@ -9010,7 +9071,7 @@ function renderToCanvas(sg, canvas, options = {}) {
|
|
|
9010
9071
|
const palette = resolvePalette(themeName);
|
|
9011
9072
|
// ── Diagram-level font ───────────────────────────────────
|
|
9012
9073
|
const diagramFont = (() => {
|
|
9013
|
-
const raw = String(sg.config['font'] ?? '');
|
|
9074
|
+
const raw = String(sg.style?.font ?? sg.config['font'] ?? '');
|
|
9014
9075
|
if (raw) {
|
|
9015
9076
|
loadFont(raw);
|
|
9016
9077
|
return resolveFont(raw);
|
|
@@ -9019,8 +9080,18 @@ function renderToCanvas(sg, canvas, options = {}) {
|
|
|
9019
9080
|
})();
|
|
9020
9081
|
// ── Background ───────────────────────────────────────────
|
|
9021
9082
|
if (!options.transparent) {
|
|
9022
|
-
ctx.fillStyle = options.background ?? palette.background;
|
|
9083
|
+
ctx.fillStyle = options.background ?? String(sg.style?.fill ?? palette.background);
|
|
9023
9084
|
ctx.fillRect(0, 0, sg.width, sg.height);
|
|
9085
|
+
const rootStroke = sg.style?.stroke;
|
|
9086
|
+
const rootStrokeWidth = Number(sg.style?.strokeWidth ?? 0);
|
|
9087
|
+
if (rootStroke && rootStroke !== 'none' && rootStrokeWidth > 0) {
|
|
9088
|
+
const inset = rootStrokeWidth / 2;
|
|
9089
|
+
ctx.save();
|
|
9090
|
+
ctx.strokeStyle = String(rootStroke);
|
|
9091
|
+
ctx.lineWidth = rootStrokeWidth;
|
|
9092
|
+
ctx.strokeRect(inset, inset, Math.max(0, sg.width - rootStrokeWidth), Math.max(0, sg.height - rootStrokeWidth));
|
|
9093
|
+
ctx.restore();
|
|
9094
|
+
}
|
|
9024
9095
|
}
|
|
9025
9096
|
else {
|
|
9026
9097
|
ctx.clearRect(0, 0, sg.width, sg.height);
|
|
@@ -10070,6 +10141,10 @@ class AnimationController {
|
|
|
10070
10141
|
if (!el.id.startsWith("group-")) {
|
|
10071
10142
|
const ids = new Set([el.id]);
|
|
10072
10143
|
this._relatedElementIdsByPrimaryId.get(el.id)?.forEach((id) => ids.add(id));
|
|
10144
|
+
this.svg.querySelectorAll(POSITIONABLE_SELECTOR).forEach((candidate) => {
|
|
10145
|
+
if (candidate.dataset.animationParent === target)
|
|
10146
|
+
ids.add(candidate.id);
|
|
10147
|
+
});
|
|
10073
10148
|
return Array.from(ids)
|
|
10074
10149
|
.map((id) => getEl(this.svg, id))
|
|
10075
10150
|
.filter((candidate) => candidate != null);
|
|
@@ -10270,6 +10345,7 @@ class AnimationController {
|
|
|
10270
10345
|
el.classList.remove("hl", "faded", "hidden");
|
|
10271
10346
|
el.style.opacity = el.style.filter = "";
|
|
10272
10347
|
if (this.drawTargetNodes.has(el.id)) {
|
|
10348
|
+
hideDrawEl(el);
|
|
10273
10349
|
prepareNodeForDraw(el);
|
|
10274
10350
|
}
|
|
10275
10351
|
else {
|
|
@@ -10768,6 +10844,15 @@ class AnimationController {
|
|
|
10768
10844
|
_doColor(target, color) {
|
|
10769
10845
|
if (!color)
|
|
10770
10846
|
return;
|
|
10847
|
+
const applyTextColor = (root) => {
|
|
10848
|
+
root.querySelectorAll("text").forEach((t) => {
|
|
10849
|
+
t.style.fill = color;
|
|
10850
|
+
const existingStyle = t.getAttribute("style") ?? "";
|
|
10851
|
+
const nextStyle = `${existingStyle.replace(/(?:^|;)\s*fill\s*:[^;]*/g, "").trim().replace(/;?$/, ";")}fill:${color};`;
|
|
10852
|
+
t.setAttribute("style", nextStyle);
|
|
10853
|
+
t.setAttribute("fill", color);
|
|
10854
|
+
});
|
|
10855
|
+
};
|
|
10771
10856
|
for (const el of this._resolveCascadeTargets(target)) {
|
|
10772
10857
|
if (parseEdgeTarget(target)) {
|
|
10773
10858
|
el.querySelectorAll("path, line, polyline").forEach((p) => {
|
|
@@ -10790,11 +10875,14 @@ class AnimationController {
|
|
|
10790
10875
|
hit = true;
|
|
10791
10876
|
});
|
|
10792
10877
|
if (!hit) {
|
|
10793
|
-
el
|
|
10794
|
-
t.style.fill = color;
|
|
10795
|
-
});
|
|
10878
|
+
applyTextColor(el);
|
|
10796
10879
|
}
|
|
10797
10880
|
}
|
|
10881
|
+
this.svg.querySelectorAll(`${POSITIONABLE_SELECTOR}[data-animation-parent]`).forEach((el) => {
|
|
10882
|
+
if (el.dataset.animationParent === target) {
|
|
10883
|
+
applyTextColor(el);
|
|
10884
|
+
}
|
|
10885
|
+
});
|
|
10798
10886
|
}
|
|
10799
10887
|
// ── narration ───────────────────────────────────────────
|
|
10800
10888
|
_initCaption() {
|