@smoove/core 0.3.0 → 0.3.2

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.
Files changed (50) hide show
  1. package/dist/engine/marker.d.ts +77 -0
  2. package/dist/engine/marker.d.ts.map +1 -0
  3. package/dist/engine/marker.js +107 -0
  4. package/dist/engine/marker.js.map +1 -0
  5. package/dist/engine/sequence.d.ts +54 -11
  6. package/dist/engine/sequence.d.ts.map +1 -1
  7. package/dist/engine/sequence.js +90 -22
  8. package/dist/engine/sequence.js.map +1 -1
  9. package/dist/engine/series.d.ts +20 -4
  10. package/dist/engine/series.d.ts.map +1 -1
  11. package/dist/engine/series.js +42 -3
  12. package/dist/engine/series.js.map +1 -1
  13. package/dist/index.d.ts +3 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +4 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/layout/block.d.ts +3 -0
  18. package/dist/layout/block.d.ts.map +1 -1
  19. package/dist/layout/block.js +5 -0
  20. package/dist/layout/block.js.map +1 -1
  21. package/dist/layout/contract.d.ts +20 -0
  22. package/dist/layout/contract.d.ts.map +1 -1
  23. package/dist/layout/contract.js.map +1 -1
  24. package/dist/layout/flex/flex.d.ts +3 -0
  25. package/dist/layout/flex/flex.d.ts.map +1 -1
  26. package/dist/layout/flex/flex.js +5 -0
  27. package/dist/layout/flex/flex.js.map +1 -1
  28. package/dist/layout/flex/mixin.d.ts +4 -1
  29. package/dist/layout/flex/mixin.d.ts.map +1 -1
  30. package/dist/layout/flex/mixin.js +5 -0
  31. package/dist/layout/flex/mixin.js.map +1 -1
  32. package/dist/layout/image.d.ts +3 -0
  33. package/dist/layout/image.d.ts.map +1 -1
  34. package/dist/layout/image.js +5 -0
  35. package/dist/layout/image.js.map +1 -1
  36. package/dist/layout/measure.d.ts +48 -0
  37. package/dist/layout/measure.d.ts.map +1 -0
  38. package/dist/layout/measure.js +105 -0
  39. package/dist/layout/measure.js.map +1 -0
  40. package/dist/layout/shapes.d.ts +39 -13
  41. package/dist/layout/shapes.d.ts.map +1 -1
  42. package/dist/layout/text/ink.d.ts +25 -0
  43. package/dist/layout/text/ink.d.ts.map +1 -0
  44. package/dist/layout/text/ink.js +62 -0
  45. package/dist/layout/text/ink.js.map +1 -0
  46. package/dist/layout/text/text.d.ts +6 -1
  47. package/dist/layout/text/text.d.ts.map +1 -1
  48. package/dist/layout/text/text.js +33 -0
  49. package/dist/layout/text/text.js.map +1 -1
  50. package/package.json +7 -1
@@ -17,55 +17,81 @@ type WithFlex<C> = Omit<C, "width" | "height"> & FlexChildProps & {
17
17
  height?: SizeValue;
18
18
  };
19
19
  export type RectConfig = WithFlex<Konva.RectConfig>;
20
- declare const Rect_base: new (config: RectConfig) => import("konva/lib/shapes/Rect").Rect & import("./contract.js").KMLayoutNode;
20
+ declare const Rect_base: new (config: RectConfig) => import("konva/lib/shapes/Rect").Rect & import("./contract.js").KMLayoutNode & {
21
+ measure(opts?: import("./measure.js").MeasureOptions): import("./measure.js").Measurement;
22
+ };
21
23
  export declare class Rect extends Rect_base {
22
24
  }
23
25
  export type CircleConfig = WithFlex<Konva.CircleConfig>;
24
- declare const Circle_base: new (config: CircleConfig) => import("konva/lib/shapes/Circle").Circle & import("./contract.js").KMLayoutNode;
26
+ declare const Circle_base: new (config: CircleConfig) => import("konva/lib/shapes/Circle").Circle & import("./contract.js").KMLayoutNode & {
27
+ measure(opts?: import("./measure.js").MeasureOptions): import("./measure.js").Measurement;
28
+ };
25
29
  export declare class Circle extends Circle_base {
26
30
  }
27
31
  export type EllipseConfig = WithFlex<Konva.EllipseConfig>;
28
- declare const Ellipse_base: new (config: EllipseConfig) => import("konva/lib/shapes/Ellipse").Ellipse & import("./contract.js").KMLayoutNode;
32
+ declare const Ellipse_base: new (config: EllipseConfig) => import("konva/lib/shapes/Ellipse").Ellipse & import("./contract.js").KMLayoutNode & {
33
+ measure(opts?: import("./measure.js").MeasureOptions): import("./measure.js").Measurement;
34
+ };
29
35
  export declare class Ellipse extends Ellipse_base {
30
36
  }
31
37
  export type LineConfig = WithFlex<Konva.LineConfig>;
32
- declare const Line_base: new (config: LineConfig) => import("konva/lib/shapes/Line").Line<import("konva/lib/shapes/Line").LineConfig> & import("./contract.js").KMLayoutNode;
38
+ declare const Line_base: new (config: LineConfig) => import("konva/lib/shapes/Line").Line<import("konva/lib/shapes/Line").LineConfig> & import("./contract.js").KMLayoutNode & {
39
+ measure(opts?: import("./measure.js").MeasureOptions): import("./measure.js").Measurement;
40
+ };
33
41
  export declare class Line extends Line_base {
34
42
  }
35
43
  export type ArrowConfig = WithFlex<Konva.ArrowConfig>;
36
- declare const Arrow_base: new (config: ArrowConfig) => import("konva/lib/shapes/Arrow").Arrow & import("./contract.js").KMLayoutNode;
44
+ declare const Arrow_base: new (config: ArrowConfig) => import("konva/lib/shapes/Arrow").Arrow & import("./contract.js").KMLayoutNode & {
45
+ measure(opts?: import("./measure.js").MeasureOptions): import("./measure.js").Measurement;
46
+ };
37
47
  export declare class Arrow extends Arrow_base {
38
48
  }
39
49
  export type StarConfig = WithFlex<Konva.StarConfig>;
40
- declare const Star_base: new (config: StarConfig) => import("konva/lib/shapes/Star").Star & import("./contract.js").KMLayoutNode;
50
+ declare const Star_base: new (config: StarConfig) => import("konva/lib/shapes/Star").Star & import("./contract.js").KMLayoutNode & {
51
+ measure(opts?: import("./measure.js").MeasureOptions): import("./measure.js").Measurement;
52
+ };
41
53
  export declare class Star extends Star_base {
42
54
  }
43
55
  export type RingConfig = WithFlex<Konva.RingConfig>;
44
- declare const Ring_base: new (config: RingConfig) => import("konva/lib/shapes/Ring").Ring & import("./contract.js").KMLayoutNode;
56
+ declare const Ring_base: new (config: RingConfig) => import("konva/lib/shapes/Ring").Ring & import("./contract.js").KMLayoutNode & {
57
+ measure(opts?: import("./measure.js").MeasureOptions): import("./measure.js").Measurement;
58
+ };
45
59
  export declare class Ring extends Ring_base {
46
60
  }
47
61
  export type ArcConfig = WithFlex<Konva.ArcConfig>;
48
- declare const Arc_base: new (config: ArcConfig) => import("konva/lib/shapes/Arc").Arc & import("./contract.js").KMLayoutNode;
62
+ declare const Arc_base: new (config: ArcConfig) => import("konva/lib/shapes/Arc").Arc & import("./contract.js").KMLayoutNode & {
63
+ measure(opts?: import("./measure.js").MeasureOptions): import("./measure.js").Measurement;
64
+ };
49
65
  export declare class Arc extends Arc_base {
50
66
  }
51
67
  export type WedgeConfig = WithFlex<Konva.WedgeConfig>;
52
- declare const Wedge_base: new (config: WedgeConfig) => import("konva/lib/shapes/Wedge").Wedge & import("./contract.js").KMLayoutNode;
68
+ declare const Wedge_base: new (config: WedgeConfig) => import("konva/lib/shapes/Wedge").Wedge & import("./contract.js").KMLayoutNode & {
69
+ measure(opts?: import("./measure.js").MeasureOptions): import("./measure.js").Measurement;
70
+ };
53
71
  export declare class Wedge extends Wedge_base {
54
72
  }
55
73
  export type RegularPolygonConfig = WithFlex<Konva.RegularPolygonConfig>;
56
- declare const RegularPolygon_base: new (config: RegularPolygonConfig) => import("konva/lib/shapes/RegularPolygon").RegularPolygon & import("./contract.js").KMLayoutNode;
74
+ declare const RegularPolygon_base: new (config: RegularPolygonConfig) => import("konva/lib/shapes/RegularPolygon").RegularPolygon & import("./contract.js").KMLayoutNode & {
75
+ measure(opts?: import("./measure.js").MeasureOptions): import("./measure.js").Measurement;
76
+ };
57
77
  export declare class RegularPolygon extends RegularPolygon_base {
58
78
  }
59
79
  export type PathConfig = WithFlex<Konva.PathConfig>;
60
- declare const Path_base: new (config: PathConfig) => import("konva/lib/shapes/Path").Path & import("./contract.js").KMLayoutNode;
80
+ declare const Path_base: new (config: PathConfig) => import("konva/lib/shapes/Path").Path & import("./contract.js").KMLayoutNode & {
81
+ measure(opts?: import("./measure.js").MeasureOptions): import("./measure.js").Measurement;
82
+ };
61
83
  export declare class Path extends Path_base {
62
84
  }
63
85
  export type TextPathConfig = WithFlex<Konva.TextPathConfig>;
64
- declare const TextPath_base: new (config: TextPathConfig) => import("konva/lib/shapes/TextPath").TextPath & import("./contract.js").KMLayoutNode;
86
+ declare const TextPath_base: new (config: TextPathConfig) => import("konva/lib/shapes/TextPath").TextPath & import("./contract.js").KMLayoutNode & {
87
+ measure(opts?: import("./measure.js").MeasureOptions): import("./measure.js").Measurement;
88
+ };
65
89
  export declare class TextPath extends TextPath_base {
66
90
  }
67
91
  export type SpriteConfig = WithFlex<Konva.SpriteConfig>;
68
- declare const Sprite_base: new (config: SpriteConfig) => import("konva/lib/shapes/Sprite").Sprite & import("./contract.js").KMLayoutNode;
92
+ declare const Sprite_base: new (config: SpriteConfig) => import("konva/lib/shapes/Sprite").Sprite & import("./contract.js").KMLayoutNode & {
93
+ measure(opts?: import("./measure.js").MeasureOptions): import("./measure.js").Measurement;
94
+ };
69
95
  export declare class Sprite extends Sprite_base {
70
96
  }
71
97
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"shapes.d.ts","sourceRoot":"","sources":["../../src/layout/shapes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjE;;;;;;;;;;;GAWG;AAEH,KAAK,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC,GAC5C,cAAc,GAAG;IACf,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB,CAAC;AAEJ,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;;AACpD,qBAAa,IAAK,SAAQ,SAA6C;CAAG;AAE1E,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;;AACxD,qBAAa,MAAO,SAAQ,WAAmD;CAAG;AAElF,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;;AAC1D,qBAAa,OAAQ,SAAQ,YAAsD;CAAG;AAEtF,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;;AACpD,qBAAa,IAAK,SAAQ,SAA6C;CAAG;AAE1E,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;;AACtD,qBAAa,KAAM,SAAQ,UAAgD;CAAG;AAE9E,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;;AACpD,qBAAa,IAAK,SAAQ,SAA6C;CAAG;AAE1E,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;;AACpD,qBAAa,IAAK,SAAQ,SAA6C;CAAG;AAE1E,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;;AAClD,qBAAa,GAAI,SAAQ,QAA0C;CAAG;AAEtE,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;;AACtD,qBAAa,KAAM,SAAQ,UAAgD;CAAG;AAE9E,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;;AACxE,qBAAa,cAAe,SAAQ,mBAEnC;CAAG;AAEJ,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;;AACpD,qBAAa,IAAK,SAAQ,SAA6C;CAAG;AAE1E,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;;AAC5D,qBAAa,QAAS,SAAQ,aAAyD;CAAG;AAE1F,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;;AACxD,qBAAa,MAAO,SAAQ,WAAmD;CAAG"}
1
+ {"version":3,"file":"shapes.d.ts","sourceRoot":"","sources":["../../src/layout/shapes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjE;;;;;;;;;;;GAWG;AAEH,KAAK,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC,GAC5C,cAAc,GAAG;IACf,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB,CAAC;AAEJ,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;;;;AACpD,qBAAa,IAAK,SAAQ,SAA6C;CAAG;AAE1E,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;;;;AACxD,qBAAa,MAAO,SAAQ,WAAmD;CAAG;AAElF,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;;;;AAC1D,qBAAa,OAAQ,SAAQ,YAAsD;CAAG;AAEtF,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;;;;AACpD,qBAAa,IAAK,SAAQ,SAA6C;CAAG;AAE1E,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;;;;AACtD,qBAAa,KAAM,SAAQ,UAAgD;CAAG;AAE9E,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;;;;AACpD,qBAAa,IAAK,SAAQ,SAA6C;CAAG;AAE1E,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;;;;AACpD,qBAAa,IAAK,SAAQ,SAA6C;CAAG;AAE1E,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;;;;AAClD,qBAAa,GAAI,SAAQ,QAA0C;CAAG;AAEtE,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;;;;AACtD,qBAAa,KAAM,SAAQ,UAAgD;CAAG;AAE9E,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;;;;AACxE,qBAAa,cAAe,SAAQ,mBAEnC;CAAG;AAEJ,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;;;;AACpD,qBAAa,IAAK,SAAQ,SAA6C;CAAG;AAE1E,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;;;;AAC5D,qBAAa,QAAS,SAAQ,aAAyD;CAAG;AAE1F,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;;;;AACxD,qBAAa,MAAO,SAAQ,WAAmD;CAAG"}
@@ -0,0 +1,25 @@
1
+ import Konva from "konva";
2
+ export type LineInk = {
3
+ /** Ink extent left/right of the line's draw start point (both >= 0). */
4
+ left: number;
5
+ right: number;
6
+ /** Ink extent above/below the alphabetic baseline. */
7
+ ascent: number;
8
+ descent: number;
9
+ };
10
+ /**
11
+ * The alphabetic baseline's y offset from the top of a line box. Mirrors
12
+ * Konva 10.3 `Text._sceneFunc` (non-legacy): `(fontAscent − fontDescent) / 2
13
+ * + lineH / 2`, with the font metrics of "M" (fontBoundingBox, falling back
14
+ * to actualBoundingBox). Legacy rendering (middle baseline) and metric-less
15
+ * environments fall back to `lineH / 2 + fontSize * 0.35` — approximate, and
16
+ * paired with ink falling back to the line box.
17
+ */
18
+ export declare function baselineOffset(text: Konva.Text, lineH: number): number;
19
+ /**
20
+ * Measure a rendered line's glyph ink relative to its draw start point and
21
+ * baseline. Returns `null` when `actualBoundingBox` metrics are unavailable
22
+ * (caller falls back to the line box).
23
+ */
24
+ export declare function measureLineInk(text: Konva.Text, line: string): LineInk | null;
25
+ //# sourceMappingURL=ink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ink.d.ts","sourceRoot":"","sources":["../../../src/layout/text/ink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,MAAM,MAAM,OAAO,GAAG;IACpB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAYF;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAYtE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAyB7E"}
@@ -0,0 +1,62 @@
1
+ import Konva from "konva";
2
+ let scratch = null;
3
+ function scratchCtx() {
4
+ if (!scratch) {
5
+ // Konva.Util.createCanvasElement is patched by the skia backend on the
6
+ // server, so this is a browser canvas or a skia canvas as appropriate.
7
+ scratch = Konva.Util.createCanvasElement().getContext("2d");
8
+ }
9
+ return scratch;
10
+ }
11
+ /**
12
+ * The alphabetic baseline's y offset from the top of a line box. Mirrors
13
+ * Konva 10.3 `Text._sceneFunc` (non-legacy): `(fontAscent − fontDescent) / 2
14
+ * + lineH / 2`, with the font metrics of "M" (fontBoundingBox, falling back
15
+ * to actualBoundingBox). Legacy rendering (middle baseline) and metric-less
16
+ * environments fall back to `lineH / 2 + fontSize * 0.35` — approximate, and
17
+ * paired with ink falling back to the line box.
18
+ */
19
+ export function baselineOffset(text, lineH) {
20
+ const src = text;
21
+ const legacy = Konva.legacyTextRendering;
22
+ if (!legacy) {
23
+ const m = src.measureSize("M");
24
+ const ascent = m.fontBoundingBoxAscent ?? m.actualBoundingBoxAscent;
25
+ const descent = m.fontBoundingBoxDescent ?? m.actualBoundingBoxDescent;
26
+ if (ascent !== undefined && descent !== undefined) {
27
+ return (ascent - descent) / 2 + lineH / 2;
28
+ }
29
+ }
30
+ return lineH / 2 + text.fontSize() * 0.35;
31
+ }
32
+ /**
33
+ * Measure a rendered line's glyph ink relative to its draw start point and
34
+ * baseline. Returns `null` when `actualBoundingBox` metrics are unavailable
35
+ * (caller falls back to the line box).
36
+ */
37
+ export function measureLineInk(text, line) {
38
+ if (!line)
39
+ return null;
40
+ const ctx = scratchCtx();
41
+ ctx.font = text._getContextFont();
42
+ ctx.textBaseline = "alphabetic";
43
+ ctx.textAlign = "left";
44
+ const ls = text.letterSpacing() || 0;
45
+ if ("letterSpacing" in ctx) {
46
+ ctx.letterSpacing = `${ls}px`;
47
+ }
48
+ const m = ctx.measureText(line);
49
+ if (m.actualBoundingBoxAscent === undefined ||
50
+ m.actualBoundingBoxDescent === undefined ||
51
+ m.actualBoundingBoxLeft === undefined ||
52
+ m.actualBoundingBoxRight === undefined) {
53
+ return null;
54
+ }
55
+ return {
56
+ left: m.actualBoundingBoxLeft,
57
+ right: m.actualBoundingBoxRight,
58
+ ascent: m.actualBoundingBoxAscent,
59
+ descent: m.actualBoundingBoxDescent,
60
+ };
61
+ }
62
+ //# sourceMappingURL=ink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ink.js","sourceRoot":"","sources":["../../../src/layout/text/ink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAuB1B,IAAI,OAAO,GAAoC,IAAI,CAAC;AACpD,SAAS,UAAU;IACjB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,uEAAuE;QACvE,uEAAuE;QACvE,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,UAAU,CAAC,IAAI,CAA6B,CAAC;IAC1F,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,IAAgB,EAAE,KAAa;IAC5D,MAAM,GAAG,GAAG,IAA8B,CAAC;IAC3C,MAAM,MAAM,GAAI,KAAsD,CAAC,mBAAmB,CAAC;IAC3F,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,CAAC,CAAC,qBAAqB,IAAI,CAAC,CAAC,uBAAuB,CAAC;QACpE,MAAM,OAAO,GAAG,CAAC,CAAC,sBAAsB,IAAI,CAAC,CAAC,wBAAwB,CAAC;QACvE,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAClD,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAgB,EAAE,IAAY;IAC3D,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,GAAG,CAAC,IAAI,GAAI,IAA+B,CAAC,eAAe,EAAE,CAAC;IAC9D,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;IAChC,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC;IACvB,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACrC,IAAI,eAAe,IAAI,GAAG,EAAE,CAAC;QAC1B,GAA4D,CAAC,aAAa,GAAG,GAAG,EAAE,IAAI,CAAC;IAC1F,CAAC;IACD,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,IACE,CAAC,CAAC,uBAAuB,KAAK,SAAS;QACvC,CAAC,CAAC,wBAAwB,KAAK,SAAS;QACxC,CAAC,CAAC,qBAAqB,KAAK,SAAS;QACrC,CAAC,CAAC,sBAAsB,KAAK,SAAS,EACtC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,qBAAqB;QAC7B,KAAK,EAAE,CAAC,CAAC,sBAAsB;QAC/B,MAAM,EAAE,CAAC,CAAC,uBAAuB;QACjC,OAAO,EAAE,CAAC,CAAC,wBAAwB;KACpC,CAAC;AACJ,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import Konva from "konva";
2
- import type { KMLayoutNode, LayoutBox, MeasureContext } from "../contract.js";
2
+ import type { KMLayoutNode, LayoutBox, LocalMeasuredLine, MeasureContext } from "../contract.js";
3
3
  import { type FlexilyNode } from "../flex/engine.js";
4
+ import { type Measurement, type MeasureOptions } from "../measure.js";
4
5
  import { Font, type FontFaceRef } from "./font.js";
5
6
  import type { TextConfig } from "./types.js";
6
7
  /**
@@ -52,6 +53,10 @@ export declare class Text extends Konva.Group implements KMLayoutNode {
52
53
  _kmMeasure(node: FlexilyNode, ctx: MeasureContext): void;
53
54
  /** @internal — {@link KMLayoutNode}: write the computed box back + re-layout glyphs. */
54
55
  _kmPlace(box: LayoutBox): void;
56
+ /** Measure this node's stage-space bounds — see {@link measureNode}. */
57
+ measure(opts?: MeasureOptions): Measurement;
58
+ /** @internal — {@link KMLayoutNode}: per-rendered-line geometry for `measure()`. */
59
+ _kmMeasureLines(): LocalMeasuredLine[];
55
60
  /**
56
61
  * @internal Intrinsic size for the flex engine. Lays out the FULL text at the
57
62
  * given available width (honoring fitText / maxWidth / maxHeight / maxLines).
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/layout/text/text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/layout/text/text.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,10 @@ import Konva from "konva";
2
2
  import { stringToArray } from "konva/lib/shapes/Text.js";
3
3
  import { TICK_MARK } from "../../markers.js";
4
4
  import { applySize, parseSize, setTextWrapperMeasure } from "../flex/engine.js";
5
+ import { measure as measureNode } from "../measure.js";
5
6
  import { Font } from "./font.js";
6
7
  import { buildWordIndex, clamp, pickKonvaConfig, snapToWord, } from "./geometry.js";
8
+ import { baselineOffset, measureLineInk } from "./ink.js";
7
9
  const ELLIPSIS = "…";
8
10
  const BIG = 1e9;
9
11
  /**
@@ -213,6 +215,37 @@ export class Text extends Konva.Group {
213
215
  this.height(box.height);
214
216
  this._layoutText();
215
217
  }
218
+ /** Measure this node's stage-space bounds — see {@link measureNode}. */
219
+ measure(opts) {
220
+ return measureNode(this, opts);
221
+ }
222
+ /** @internal — {@link KMLayoutNode}: per-rendered-line geometry for `measure()`. */
223
+ _kmMeasureLines() {
224
+ const geo = this._geo;
225
+ if (!geo)
226
+ return [];
227
+ const blOff = baselineOffset(this._text, geo.lineH);
228
+ return geo.ranges.map((r, li) => {
229
+ const x = geo.pad + this._alignOffset(geo, r.width);
230
+ const y = geo.pad + li * geo.lineH;
231
+ const rect = { left: x, top: y, width: r.width, height: geo.lineH };
232
+ const baseline = y + blOff;
233
+ const ink = measureLineInk(this._text, geo.chars.slice(r.start, r.end).join(""));
234
+ return {
235
+ rect,
236
+ ink: ink
237
+ ? {
238
+ left: x - ink.left,
239
+ top: baseline - ink.ascent,
240
+ width: ink.left + ink.right,
241
+ height: ink.ascent + ink.descent,
242
+ }
243
+ : { ...rect },
244
+ baseline,
245
+ range: { start: r.start, end: r.end },
246
+ };
247
+ });
248
+ }
216
249
  /**
217
250
  * @internal Intrinsic size for the flex engine. Lays out the FULL text at the
218
251
  * given available width (honoring fitText / maxWidth / maxHeight / maxLines).
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/layout/text/text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/layout/text/text.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smoove/core",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "A timeline-driven animation engine for Konva. Runs in the browser or on the server and renders to any target.",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -30,12 +30,18 @@
30
30
  "bezier-easing": "^2.1.0",
31
31
  "flexily": "^0.7.1"
32
32
  },
33
+ "devDependencies": {
34
+ "skia-canvas": "^3.0.8",
35
+ "vitest": "^3.2.4"
36
+ },
33
37
  "peerDependencies": {
34
38
  "konva": ">=10"
35
39
  },
36
40
  "scripts": {
37
41
  "build": "tsc -b",
38
42
  "dev": "tsc -b --watch",
43
+ "test": "vitest run",
44
+ "test:watch": "vitest",
39
45
  "clean": "rm -rf dist *.tsbuildinfo"
40
46
  }
41
47
  }