@myrmidon/gve-snapshot-rendition 2.0.1 → 2.0.3

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.
@@ -48,6 +48,7 @@ export declare class GveSnapshotRendition extends HTMLElement {
48
48
  private _currentVersionIndex;
49
49
  private _autoForwardEnabled;
50
50
  private _autoForwardTimerId;
51
+ private _renderScheduled;
51
52
  constructor();
52
53
  /**
53
54
  * Observed attributes for the web component.
@@ -114,6 +115,14 @@ export declare class GveSnapshotRendition extends HTMLElement {
114
115
  * Reset layout to default panel sizes by reloading the default config.
115
116
  */
116
117
  resetLayout(): void;
118
+ /**
119
+ * Coalesce concurrent render requests into a single call.
120
+ * Multiple same-turn invocations (e.g. settings setter + data setter both
121
+ * firing in the same Angular expression) collapse into one microtask render,
122
+ * always running after all synchronous assignments have completed so the
123
+ * latest data is used.
124
+ */
125
+ private scheduleRenderContent;
117
126
  /**
118
127
  * Render content (base text only - starts at v0).
119
128
  * Use goToVersionIndex() to navigate to specific versions.
@@ -279,6 +279,10 @@ export declare class GveHintDesigner extends HTMLElement {
279
279
  * Clear all data.
280
280
  */
281
281
  private clearData;
282
+ /**
283
+ * Export the current hint as an InkScape-compatible SVG file.
284
+ */
285
+ private exportToInkscape;
282
286
  /**
283
287
  * Load animation code from catalog.
284
288
  */
@@ -55,28 +55,25 @@ export declare class TextRenderer {
55
55
  /**
56
56
  * Calculate positions for additional text characters.
57
57
  * Additional text flows left to right from the base position.
58
+ * When config is provided its font metrics are used for character width
59
+ * measurement, matching what applyTextStyle will actually render.
58
60
  */
59
61
  private calculateAdditionalTextPositions;
60
62
  /**
61
- * Calculate RBRs from reference nodes.
62
- * Nodes on different lines create separate RBRs.
63
- */
64
- private calculateRBRs;
65
- /**
66
- * Calculate target position on the RBR based on position type.
63
+ * Calculate the RBR anchor point for a given position type.
64
+ * This is the point on the RBR where the corresponding EBR point will land.
67
65
  */
68
- private calculateTargetPosition;
66
+ private calculateRBRAlignmentPoint;
69
67
  /**
70
- * Calculate total rendered width of additional text nodes.
71
- * Mirrors the spacing logic in calculateAdditionalTextPositions so the result
72
- * is the exact horizontal span from the first character's left edge to the last
73
- * character's right edge.
68
+ * Calculate the EBR anchor point for a given position type.
69
+ * This is the point on the EBR that should coincide with the RBR anchor point.
74
70
  */
75
- private calculateTotalTextWidth;
71
+ private calculateEBRAlignmentPoint;
76
72
  /**
77
- * Calculate bounding rectangle for a set of positioned characters.
73
+ * Calculate RBRs from reference nodes.
74
+ * Nodes on different lines create separate RBRs.
78
75
  */
79
- private calculateTextBounds;
76
+ private calculateRBRs;
80
77
  /**
81
78
  * Update settings.
82
79
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@myrmidon/gve-snapshot-rendition",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
4
4
  "homepage": "https://github.com/vedph/gve-snapshot-rendition",
5
5
  "repository": {
6
6
  "type": "git",