@pixerate/editor 0.40.0 → 0.41.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.
@@ -25,6 +25,12 @@ reproduced at the end of this file. Paths are relative to each source repository
25
25
  - `crates/settings/src/store.rs` (debounced save, `retry_delay` exponential backoff with cap) → `packages/core/src/persistence/autosave.ts`, `exponentialBackoff` in `packages/core/src/persistence/recoveryPolicy.ts`
26
26
  - Test cases from `crates/settings/tests/migrate.rs`, `tests/recovery.rs` and `tests/store.rs`, re-expressed → `packages/core/tests/persistence-migrate.test.ts`, `packages/core/tests/persistence-policy.test.ts`
27
27
 
28
+ ## deckcraft
29
+
30
+ © 2026 ArtCraft Team and the DeckCraft contributors.
31
+
32
+ - `crates/geom/src/morph.rs` (`contours`: every segment as a cubic, lines with handles at thirds; `align`: contours paired in order, one without a partner meeting a point at the same place relative to the other outline's box (`place`); `turn`: a closed contour restarted at another anchor; `match_pair`: the closed side of a pair turned, open paired with closed) → `subpathToMorphContour`, `turnMorphContour` and `correspondMorphContours` in `packages/core/src/vector/blend.ts`; anchors are inserted by arc length rather than split evenly per curve, and the winding of closed shapes follows their areas (effectcraft) instead of a cost comparison; test cases re-expressed → `packages/core/tests/vector-blend.test.ts`
33
+
28
34
  ## designcraft
29
35
 
30
36
  © 2026 ArtCraft Team and the DesignCraft contributors.
@@ -36,6 +42,7 @@ reproduced at the end of this file. Paths are relative to each source repository
36
42
  © 2026 ArtCraft Team and the EffectCraft contributors.
37
43
 
38
44
  - `crates/path/src/varstroke.rs` (`outline`: a variable-width stroke as the union of positively wound trapezoids per flattened segment, round wedges at bends and the caps, filled non-zero; `flatten` with a width-sampling step; `dash_intervals`; `width_factor` with the `Taper` lengths, widths and quarter-circle `ease` and the `Wave` amount, cycles and phase) → `variableStrokeRings` / `variableStrokeOutline` / `dashIntervals` in `packages/core/src/vector/varstroke.ts` and `taperWaveFactor` / `generateWidthProfile` in `packages/core/src/vector/width.ts`; the pieces are emitted as the boundary they add up to (offset sides, outer joins, inner sides trimmed at the offsets' crossing or routed through the centre) instead of being unioned one by one, and the result is refitted with cubics; test cases re-expressed → `packages/core/tests/vector-width.test.ts`
45
+ - `crates/path/src/interp.rs` (`with_vertex_count`: largest-remainder allocation of new vertices by segment length and de Casteljau splits at equal arc length; `correspond`: same winding, then the cyclic offset with the lowest cost of normalised positions plus χ² distances of log-polar shape-context histograms, coarse then refined for long contours; `interpolate`: Procrustes rotation and scale interpolated with the residual blended in and a straight-line mix; `paths_cross`) → `refineMorphContour`, `correspondMorphContours`, `interpolateMorphContours` and `morphPathsCross` in `packages/core/src/vector/blend.ts`; the offset cost is what remains after the best-fit rotation (plus a small turn penalty) and the histograms measure angles from the contour's direction, so a turned shape corresponds by turning; test cases re-expressed → `packages/core/tests/vector-blend.test.ts`
39
46
 
40
47
  ## figcraft
41
48
 
@@ -180,6 +187,7 @@ GridCraft. Apache POI is © The Apache Software Foundation, licensed under the A
180
187
  - `crates/tools/src/builder.rs` (the Shape Builder tool: `BuilderMap` with regions and line pieces, `hit` preferring the nearer of a line piece and an outline edge within tolerance when erasing, `Hit::Edge`, `erased_edges` (an edge bounding a face touched in the same gesture goes with the face), `sides`, `line_between`, `Touched`, `sample_polyline`, `shape_builder_shapes` closing filled open subpaths that enclose an area, hover and drag highlights, Alt to erase) and `crates/engine/src/cmd/buildcmds.rs` (`sb_merge`: line pieces deleted or lying between merged faces go, covering shapes keep their faces not merged, erased edges cut out of every outline they lie on, the merged shape styled like the top-most shape over the first region or the current fill for a gap) → `packages/core/src/vector/builder.ts` and the `shapeBuilder` tool in `packages/core/src/vector/controller.ts`; `hatch` (45° scanlines clipped to a face, the gap widened past a line cap) → `hatchPath` in `packages/core/src/canvas/pathops/hatch.ts`, drawn by the React and Svelte canvases; Live Paint groups were not ported
181
188
  - Test cases from `crates/pathops/src/{pathfinder.rs,planar.rs}` and `crates/engine/src/tests_build.rs`, re-expressed → `packages/core/tests/canvas-pathfinder.test.ts`, `packages/core/tests/vector-pathfinder.test.ts`
182
189
  - `crates/tools/src/distort/width.rs` (the Width tool: the stroke under the pointer and its width there, dragging outward to add or widen a width point — symmetric, Alt one side — dragging a point's centre to slide it along the path, its handle ends to widen it, width-point diamonds and side handles in the overlay, Delete removing the selected point) → `getVectorWidthHandles`, the `width` hover and drag in `packages/core/src/vector/controller.ts` and the overlay's `widthPoints` / `widthSpot` in `packages/core/src/vector/render.ts`; and its later additions: Alt-dragging a centre to slide a copy (`stroke.widthPoint.copy`), dropping a slid point onto another to make a discontinuous point, Shift-click multi-selection with selected points moved or widened together and kept selected after a move (`group` / `toggle` / `selected_indices`), Delete removing every selected point, and double-click opening Width Point Edit on a point or a stroke spot (the `widthPoint` dialog) → `selectedWidthPoints`, `selectWidthPoints`, `removeWidthPoints`, `setWidthPoint`, `openWidthPointEdit` / `commitWidthPointEdit` / `widthPointEdit` and the `copy` drag in `packages/core/src/vector/controller.ts`, and `VectorWidthPointEditor` in `packages/react/src/vector/VectorWidthPointEditor.tsx` and `packages/svelte/src/vector/VectorWidthPointEditor.svelte`; test cases re-expressed → `packages/core/tests/vector-width.test.ts`
190
+ - `crates/doc/src/blend.rs` (`lerp_paint` with `common_stops` / `resample_stops`: gradients of one kind with their stops resampled at every offset either has, a solid colour against a gradient through a gradient of that colour, other kinds switching halfway; `lerp_profile`, `lerp_dash` (a solid stroke as the other's pattern with its gaps closed), `lerp_stroke`; `lerp_affine` turning the shorter way round; `PathPair` with clicked start anchors (`start_at`: a closed subpath restarted, an open one clicked at its end reversed); `Lerp` pairing group children in stacking order with the extra ones collapsing to a point; `blend_step_count` for Specified Steps, Specified Distance and Smooth Color; `Spine` / `blend_spine` / `Rail::place`: steps laid along a replaced spine by arc length, moved by the spine's offset from the straight line and turned with Align to Path; `blend_expand` in paint order) → `interpolateVectorPaint` / `interpolateVectorStyle` / `interpolateWidthProfiles` / `interpolateRigidMatrix` / `createVectorMorph` in `packages/core/src/vector/blend.ts` and `vectorBlendStepCount`, `vectorBlendRail`, `vectorBlendSpine` and `generateVectorBlendChildren` in `packages/core/src/vector/blendGroup.ts`, the Blend tool and the `blend` / `expandBlend` / `releaseBlend` / `replaceBlendSpine` actions in `packages/core/src/vector/controller.ts`; colours mix in OKLab rather than per colour model, its `grow` (splitting the longest segment by chord) was replaced by effectcraft's arc-length insertion, the steps are offset by how far the spine bends from the chord between the keys and turn by the change in its direction, so keys stay put; test cases re-expressed → `packages/core/tests/vector-blend.test.ts`
183
191
  ---
184
192
 
185
193
  ## wordcraft
@@ -10,12 +10,14 @@
10
10
 
11
11
 
12
12
 
13
+ var _chunkO4ONBPZWcjs = require('../chunk-O4ONBPZW.cjs');
13
14
 
14
15
 
15
16
 
16
17
 
17
18
 
18
- var _chunkXHRZSB77cjs = require('../chunk-XHRZSB77.cjs');
19
+
20
+ var _chunkMR3Z4OQIcjs = require('../chunk-MR3Z4OQI.cjs');
19
21
 
20
22
 
21
23
 
@@ -62,5 +64,5 @@ require('../chunk-A6PHCAGX.cjs');
62
64
 
63
65
 
64
66
 
65
- exports.ANIMATION_EASING_LABELS = _chunkXZ4L3R4Kcjs.ANIMATION_EASING_LABELS; exports.ANIMATION_EASING_PRESETS = _chunkXZ4L3R4Kcjs.ANIMATION_EASING_PRESETS; exports.ANIMATION_TIME_EPSILON = _chunkXHRZSB77cjs.ANIMATION_TIME_EPSILON; exports.AnimationPlayer = _chunkXHRZSB77cjs.AnimationPlayer; exports.CUBIC_BEZIER_PRESETS = _chunkXZ4L3R4Kcjs.CUBIC_BEZIER_PRESETS; exports.ManualClock = _chunkXHRZSB77cjs.ManualClock; exports.createAnimationPlayer = _chunkXHRZSB77cjs.createAnimationPlayer; exports.cubicBezierAt = _chunkXZ4L3R4Kcjs.cubicBezierAt; exports.easingFromInfluence = _chunkXZ4L3R4Kcjs.easingFromInfluence; exports.easingLabel = _chunkXZ4L3R4Kcjs.easingLabel; exports.easingToCss = _chunkXZ4L3R4Kcjs.easingToCss; exports.elasticAt = _chunkXZ4L3R4Kcjs.elasticAt; exports.evaluateEasing = _chunkXZ4L3R4Kcjs.evaluateEasing; exports.evaluateTrack = _chunkXHRZSB77cjs.evaluateTrack; exports.formatOklab = _chunkXHRZSB77cjs.formatOklab; exports.interpolateAnimationValue = _chunkXHRZSB77cjs.interpolateAnimationValue; exports.isAnimationEasing = _chunkXZ4L3R4Kcjs.isAnimationEasing; exports.isAnimationKeyframe = _chunkXHRZSB77cjs.isAnimationKeyframe; exports.mixColorsOklab = _chunkXHRZSB77cjs.mixColorsOklab; exports.normalizeKeyframes = _chunkXHRZSB77cjs.normalizeKeyframes; exports.oklabToRgb = _chunkXHRZSB77cjs.oklabToRgb; exports.pageHidden = _chunkXHRZSB77cjs.pageHidden; exports.parseCssEasing = _chunkXZ4L3R4Kcjs.parseCssEasing; exports.parseOklab = _chunkXHRZSB77cjs.parseOklab; exports.realClock = _chunkXHRZSB77cjs.realClock; exports.resolveEasing = _chunkXZ4L3R4Kcjs.resolveEasing; exports.rgbToOklab = _chunkXHRZSB77cjs.rgbToOklab; exports.springAt = _chunkXZ4L3R4Kcjs.springAt; exports.wrapAnimationTime = _chunkXHRZSB77cjs.wrapAnimationTime;
67
+ exports.ANIMATION_EASING_LABELS = _chunkXZ4L3R4Kcjs.ANIMATION_EASING_LABELS; exports.ANIMATION_EASING_PRESETS = _chunkXZ4L3R4Kcjs.ANIMATION_EASING_PRESETS; exports.ANIMATION_TIME_EPSILON = _chunkO4ONBPZWcjs.ANIMATION_TIME_EPSILON; exports.AnimationPlayer = _chunkO4ONBPZWcjs.AnimationPlayer; exports.CUBIC_BEZIER_PRESETS = _chunkXZ4L3R4Kcjs.CUBIC_BEZIER_PRESETS; exports.ManualClock = _chunkO4ONBPZWcjs.ManualClock; exports.createAnimationPlayer = _chunkO4ONBPZWcjs.createAnimationPlayer; exports.cubicBezierAt = _chunkXZ4L3R4Kcjs.cubicBezierAt; exports.easingFromInfluence = _chunkXZ4L3R4Kcjs.easingFromInfluence; exports.easingLabel = _chunkXZ4L3R4Kcjs.easingLabel; exports.easingToCss = _chunkXZ4L3R4Kcjs.easingToCss; exports.elasticAt = _chunkXZ4L3R4Kcjs.elasticAt; exports.evaluateEasing = _chunkXZ4L3R4Kcjs.evaluateEasing; exports.evaluateTrack = _chunkO4ONBPZWcjs.evaluateTrack; exports.formatOklab = _chunkMR3Z4OQIcjs.formatOklab; exports.interpolateAnimationValue = _chunkO4ONBPZWcjs.interpolateAnimationValue; exports.isAnimationEasing = _chunkXZ4L3R4Kcjs.isAnimationEasing; exports.isAnimationKeyframe = _chunkO4ONBPZWcjs.isAnimationKeyframe; exports.mixColorsOklab = _chunkMR3Z4OQIcjs.mixColorsOklab; exports.normalizeKeyframes = _chunkO4ONBPZWcjs.normalizeKeyframes; exports.oklabToRgb = _chunkMR3Z4OQIcjs.oklabToRgb; exports.pageHidden = _chunkO4ONBPZWcjs.pageHidden; exports.parseCssEasing = _chunkXZ4L3R4Kcjs.parseCssEasing; exports.parseOklab = _chunkMR3Z4OQIcjs.parseOklab; exports.realClock = _chunkO4ONBPZWcjs.realClock; exports.resolveEasing = _chunkXZ4L3R4Kcjs.resolveEasing; exports.rgbToOklab = _chunkMR3Z4OQIcjs.rgbToOklab; exports.springAt = _chunkXZ4L3R4Kcjs.springAt; exports.wrapAnimationTime = _chunkO4ONBPZWcjs.wrapAnimationTime;
66
68
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/editor/editor/packages/core/dist/animation/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,guDAAC","file":"/home/runner/work/editor/editor/packages/core/dist/animation/index.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/editor/editor/packages/core/dist/animation/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,guDAAC","file":"/home/runner/work/editor/editor/packages/core/dist/animation/index.cjs"}
@@ -4,18 +4,20 @@ import {
4
4
  ManualClock,
5
5
  createAnimationPlayer,
6
6
  evaluateTrack,
7
- formatOklab,
8
7
  interpolateAnimationValue,
9
8
  isAnimationKeyframe,
10
- mixColorsOklab,
11
9
  normalizeKeyframes,
12
- oklabToRgb,
13
10
  pageHidden,
14
- parseOklab,
15
11
  realClock,
16
- rgbToOklab,
17
12
  wrapAnimationTime
18
- } from "../chunk-W7BOBWZD.js";
13
+ } from "../chunk-SHOVAHUB.js";
14
+ import {
15
+ formatOklab,
16
+ mixColorsOklab,
17
+ oklabToRgb,
18
+ parseOklab,
19
+ rgbToOklab
20
+ } from "../chunk-ZRJMJIQU.js";
19
21
  import {
20
22
  ANIMATION_EASING_LABELS,
21
23
  ANIMATION_EASING_PRESETS,
@@ -125,12 +125,14 @@ var _chunkK2UYKJ6Mcjs = require('../chunk-K2UYKJ6M.cjs');
125
125
 
126
126
 
127
127
 
128
+ var _chunkO4ONBPZWcjs = require('../chunk-O4ONBPZW.cjs');
128
129
 
129
130
 
130
131
 
131
132
 
132
133
 
133
- var _chunkXHRZSB77cjs = require('../chunk-XHRZSB77.cjs');
134
+
135
+ var _chunkMR3Z4OQIcjs = require('../chunk-MR3Z4OQI.cjs');
134
136
 
135
137
 
136
138
 
@@ -230,7 +232,7 @@ function runMultiNodeTransition(transitions, options = {}) {
230
232
  const {
231
233
  defaultDuration = 400,
232
234
  defaultEasing: easingFunc = defaultEasing,
233
- clock = _chunkXHRZSB77cjs.realClock,
235
+ clock = _chunkO4ONBPZWcjs.realClock,
234
236
  styleFormat = "string",
235
237
  onUpdate,
236
238
  onComplete
@@ -666,7 +668,7 @@ var StreamingLayoutManager = (_class = class {
666
668
  this.throttleMs = _nullishCoalesce(options.throttleMs, () => ( 200));
667
669
  this.glideDurationMs = _nullishCoalesce(options.glideDurationMs, () => ( 300));
668
670
  this.connectedOnly = _nullishCoalesce(options.connectedOnly, () => ( false));
669
- this.clock = _nullishCoalesce(options.clock, () => ( _chunkXHRZSB77cjs.realClock));
671
+ this.clock = _nullishCoalesce(options.clock, () => ( _chunkO4ONBPZWcjs.realClock));
670
672
  this.layoutOptions = _nullishCoalesce(options.layoutOptions, () => ( { direction: "LR" }));
671
673
  this.onLayoutUpdated = options.onLayoutUpdated;
672
674
  }
@@ -4614,7 +4616,7 @@ function getNodeAnimation(node) {
4614
4616
  }
4615
4617
  function getAnimationTrack(node, property) {
4616
4618
  const track = _optionalChain([getNodeAnimation, 'call', _184 => _184(node), 'optionalAccess', _185 => _185.tracks, 'access', _186 => _186[property]]);
4617
- return track && Array.isArray(track.keyframes) && _chunkXHRZSB77cjs.normalizeKeyframes.call(void 0, track.keyframes).length > 0 ? track : void 0;
4619
+ return track && Array.isArray(track.keyframes) && _chunkO4ONBPZWcjs.normalizeKeyframes.call(void 0, track.keyframes).length > 0 ? track : void 0;
4618
4620
  }
4619
4621
  function isNodeAnimated(node) {
4620
4622
  const animation = getNodeAnimation(node);
@@ -4651,7 +4653,7 @@ function getAnimationDuration(doc) {
4651
4653
  if (!animation) continue;
4652
4654
  for (const track of Object.values(animation.tracks)) {
4653
4655
  if (!track || track.enabled === false) continue;
4654
- const keys = _chunkXHRZSB77cjs.normalizeKeyframes.call(void 0, track.keyframes);
4656
+ const keys = _chunkO4ONBPZWcjs.normalizeKeyframes.call(void 0, track.keyframes);
4655
4657
  if (keys.length > 0) end = Math.max(end, keys[keys.length - 1].time);
4656
4658
  }
4657
4659
  }
@@ -4668,7 +4670,7 @@ function evaluateAnimation(doc, time, options = {}) {
4668
4670
  for (const [key, track] of Object.entries(animation.tracks)) {
4669
4671
  if (!track || track.enabled === false) continue;
4670
4672
  const property = (_nullishCoalesce(options.properties, () => ( ANIMATABLE_PROPERTIES))).find((p) => p.key === key);
4671
- const value = _chunkXHRZSB77cjs.evaluateTrack.call(void 0, track, time, _nullishCoalesce(_optionalChain([property, 'optionalAccess', _188 => _188.type]), () => ( "number")));
4673
+ const value = _chunkO4ONBPZWcjs.evaluateTrack.call(void 0, track, time, _nullishCoalesce(_optionalChain([property, 'optionalAccess', _188 => _188.type]), () => ( "number")));
4672
4674
  if (value === void 0) continue;
4673
4675
  (values ??= {})[key] = clampAnimationValue(property, value);
4674
4676
  }
@@ -4706,7 +4708,7 @@ var AnimationEditError = class extends Error {
4706
4708
  }
4707
4709
  };
4708
4710
  var MAX_KEYFRAME_REFS = 4096;
4709
- var sameTime = (a, b) => Math.abs(a - b) <= _chunkXHRZSB77cjs.ANIMATION_TIME_EPSILON;
4711
+ var sameTime = (a, b) => Math.abs(a - b) <= _chunkO4ONBPZWcjs.ANIMATION_TIME_EPSILON;
4710
4712
  var refKey = (r) => `${r.nodeId}\0${r.property}`;
4711
4713
  function snapTimeToFrame(time, fps) {
4712
4714
  if (!(fps > 0)) return time;
@@ -4760,7 +4762,7 @@ var Draft = (_class4 = class {
4760
4762
  const current = getNodeAnimation(this.node(id));
4761
4763
  const tracks = {};
4762
4764
  for (const [key, track] of Object.entries(_nullishCoalesce(_optionalChain([current, 'optionalAccess', _190 => _190.tracks]), () => ( {})))) {
4763
- if (track) tracks[key] = { ...track, keyframes: _chunkXHRZSB77cjs.normalizeKeyframes.call(void 0, track.keyframes) };
4765
+ if (track) tracks[key] = { ...track, keyframes: _chunkO4ONBPZWcjs.normalizeKeyframes.call(void 0, track.keyframes) };
4764
4766
  }
4765
4767
  animation = { ..._nullishCoalesce(current, () => ( {})), tracks };
4766
4768
  this.animations.set(id, animation);
@@ -4830,7 +4832,7 @@ function readAnimatableValue(node, property) {
4830
4832
  function getAnimatedValue(node, propertyKey, time, options = {}) {
4831
4833
  const property = getAnimatableProperty(propertyKey, options);
4832
4834
  const track = getAnimationTrack(node, propertyKey);
4833
- if (track && track.enabled !== false) return _chunkXHRZSB77cjs.evaluateTrack.call(void 0, track, time, _nullishCoalesce(_optionalChain([property, 'optionalAccess', _196 => _196.type]), () => ( "number")));
4835
+ if (track && track.enabled !== false) return _chunkO4ONBPZWcjs.evaluateTrack.call(void 0, track, time, _nullishCoalesce(_optionalChain([property, 'optionalAccess', _196 => _196.type]), () => ( "number")));
4834
4836
  return property ? readAnimatableValue(node, property) : void 0;
4835
4837
  }
4836
4838
  function putKey(draft, nodeId, property, time, value, easing, inherit = true) {
@@ -4932,7 +4934,7 @@ function removeTrack(nodes, nodeId, property, options = {}) {
4932
4934
  if (!track) return nodes;
4933
4935
  const p = draft.property(property);
4934
4936
  if (options.keepValueAt !== void 0 && p && property !== "motionPath") {
4935
- const value = _chunkXHRZSB77cjs.evaluateTrack.call(void 0, track, options.keepValueAt, p.type);
4937
+ const value = _chunkO4ONBPZWcjs.evaluateTrack.call(void 0, track, options.keepValueAt, p.type);
4936
4938
  if (value !== void 0) draft.writeNode(nodeId, (n) => p.write(n, value));
4937
4939
  }
4938
4940
  draft.setKeys(nodeId, property, []);
@@ -4961,10 +4963,10 @@ function moveKeyframes(nodes, refs, delta, options = {}) {
4961
4963
  low = Math.max(low, min - time);
4962
4964
  high = Math.min(high, max - time);
4963
4965
  }
4964
- if (low > high + _chunkXHRZSB77cjs.ANIMATION_TIME_EPSILON) throw new AnimationEditError("no_movement_range", "The keyframes have no common movement range.");
4966
+ if (low > high + _chunkO4ONBPZWcjs.ANIMATION_TIME_EPSILON) throw new AnimationEditError("no_movement_range", "The keyframes have no common movement range.");
4965
4967
  const applied = Math.min(high, Math.max(low, delta));
4966
4968
  const moved = refs.map((ref) => ({ ...ref, time: draft.keys(ref.nodeId, ref.property)[draft.find(ref)].time + applied }));
4967
- if (Math.abs(applied) <= _chunkXHRZSB77cjs.ANIMATION_TIME_EPSILON) return { nodes, delta: 0, refs: refs.map((r) => ({ ...r })) };
4969
+ if (Math.abs(applied) <= _chunkO4ONBPZWcjs.ANIMATION_TIME_EPSILON) return { nodes, delta: 0, refs: refs.map((r) => ({ ...r })) };
4968
4970
  retime(draft, refs, (time) => time + applied);
4969
4971
  return { nodes: draft.commit(), delta: applied, refs: moved };
4970
4972
  }
@@ -5010,7 +5012,7 @@ function getKeyframeTimes(nodes, options = {}) {
5010
5012
  if (!animation) continue;
5011
5013
  for (const [property, track] of Object.entries(animation.tracks)) {
5012
5014
  const skip = _nullishCoalesce(excluded.get(refKey({ nodeId: node.id, property })), () => ( []));
5013
- for (const k of _chunkXHRZSB77cjs.normalizeKeyframes.call(void 0, _optionalChain([track, 'optionalAccess', _198 => _198.keyframes]))) if (!skip.some((t) => sameTime(t, k.time))) times.push(k.time);
5015
+ for (const k of _chunkO4ONBPZWcjs.normalizeKeyframes.call(void 0, _optionalChain([track, 'optionalAccess', _198 => _198.keyframes]))) if (!skip.some((t) => sameTime(t, k.time))) times.push(k.time);
5014
5016
  }
5015
5017
  }
5016
5018
  times.sort((a, b) => a - b);
@@ -5129,7 +5131,7 @@ function recordAnimationChanges(base, before, after, time, options = {}) {
5129
5131
  };
5130
5132
  if (animated) {
5131
5133
  if (changed) {
5132
- const keys = _chunkXHRZSB77cjs.normalizeKeyframes.call(void 0, track.keyframes).filter((k) => !sameTime(k.time, t));
5134
+ const keys = _chunkO4ONBPZWcjs.normalizeKeyframes.call(void 0, track.keyframes).filter((k) => !sameTime(k.time, t));
5133
5135
  const before2 = [...keys].reverse().find((k) => k.time < t);
5134
5136
  keys.push({ time: t, value: now, ..._optionalChain([before2, 'optionalAccess', _200 => _200.easing]) !== void 0 ? { easing: before2.easing } : {} });
5135
5137
  tracksOf()[p.key] = { ...track, keyframes: keys.sort((a, b) => a.time - b.time) };
@@ -5138,7 +5140,7 @@ function recordAnimationChanges(base, before, after, time, options = {}) {
5138
5140
  restore();
5139
5141
  } else if (changed && options.recording && !track) {
5140
5142
  const keys = [];
5141
- if (t > _chunkXHRZSB77cjs.ANIMATION_TIME_EPSILON && was !== void 0) keys.push({ time: 0, value: was });
5143
+ if (t > _chunkO4ONBPZWcjs.ANIMATION_TIME_EPSILON && was !== void 0) keys.push({ time: 0, value: was });
5142
5144
  keys.push({ time: t, value: now });
5143
5145
  tracksOf()[p.key] = { keyframes: keys };
5144
5146
  keyed.push({ nodeId: next.id, property: p.key, time: t });
@@ -5265,7 +5267,7 @@ function getCssPropertyAnimations(nodes, nodeId, options = {}) {
5265
5267
  const tracks = /* @__PURE__ */ new Map();
5266
5268
  for (const [key, track] of Object.entries(animation.tracks)) {
5267
5269
  if (!track || track.enabled === false || !map[key]) continue;
5268
- const keys = _chunkXHRZSB77cjs.normalizeKeyframes.call(void 0, track.keyframes);
5270
+ const keys = _chunkO4ONBPZWcjs.normalizeKeyframes.call(void 0, track.keyframes);
5269
5271
  if (keys.length > 0) tracks.set(key, keys);
5270
5272
  }
5271
5273
  const typeOf = (key) => _nullishCoalesce(_optionalChain([ANIMATABLE_PROPERTIES, 'access', _205 => _205.find, 'call', _206 => _206((p) => p.key === key), 'optionalAccess', _207 => _207.type]), () => ( "number"));
@@ -5278,7 +5280,7 @@ function getCssPropertyAnimations(nodes, nodeId, options = {}) {
5278
5280
  for (const [css, sources] of groups) {
5279
5281
  const camel2 = map[sources[0]].camel;
5280
5282
  const keysOf = (k) => tracks.get(k);
5281
- const evalAt = (k, t) => _chunkXHRZSB77cjs.evaluateTrack.call(void 0, keysOf(k), t, typeOf(k));
5283
+ const evalAt = (k, t) => _chunkO4ONBPZWcjs.evaluateTrack.call(void 0, keysOf(k), t, typeOf(k));
5282
5284
  const allTimes = sources.flatMap((k) => keysOf(k).map((x) => x.time));
5283
5285
  if (sources.includes("motionPath")) {
5284
5286
  const position = (t) => {
@@ -5374,7 +5376,7 @@ function isCssExportExact(nodes, nodeId) {
5374
5376
 
5375
5377
  // src/canvas/animation/timeline.ts
5376
5378
  function isKeyframeSelected(selection, ref) {
5377
- return selection.some((s) => s.nodeId === ref.nodeId && s.property === ref.property && Math.abs(s.time - ref.time) <= _chunkXHRZSB77cjs.ANIMATION_TIME_EPSILON);
5379
+ return selection.some((s) => s.nodeId === ref.nodeId && s.property === ref.property && Math.abs(s.time - ref.time) <= _chunkO4ONBPZWcjs.ANIMATION_TIME_EPSILON);
5378
5380
  }
5379
5381
  var defaultLabel = (node) => typeof _optionalChain([node, 'access', _208 => _208.data, 'optionalAccess', _209 => _209.label]) === "string" && node.data.label.trim() ? node.data.label : node.id;
5380
5382
  function getTimelineRows(nodes, ids, options = {}) {
@@ -5395,7 +5397,7 @@ function getTimelineRows(nodes, ids, options = {}) {
5395
5397
  property,
5396
5398
  label,
5397
5399
  enabled: track.enabled !== false,
5398
- keyframes: _chunkXHRZSB77cjs.normalizeKeyframes.call(void 0, track.keyframes).map((k) => {
5400
+ keyframes: _chunkO4ONBPZWcjs.normalizeKeyframes.call(void 0, track.keyframes).map((k) => {
5399
5401
  const ref = { nodeId: id, property, time: k.time };
5400
5402
  const selected = isKeyframeSelected(selection, ref);
5401
5403
  return {
@@ -5455,7 +5457,7 @@ function createCanvasAnimationController(options) {
5455
5457
  }
5456
5458
  return _nullishCoalesce(fixedDuration, () => ( durationValue));
5457
5459
  };
5458
- const player = new (0, _chunkXHRZSB77cjs.AnimationPlayer)({
5460
+ const player = new (0, _chunkO4ONBPZWcjs.AnimationPlayer)({
5459
5461
  clock: options.clock,
5460
5462
  duration,
5461
5463
  loop: options.loop,
@@ -5534,7 +5536,7 @@ function createCanvasAnimationController(options) {
5534
5536
  const byId = new Map(options.getNodes().map((n) => [n.id, n]));
5535
5537
  const kept = selection.filter((ref) => {
5536
5538
  const track = _optionalChain([getNodeAnimation, 'call', _222 => _222(byId.get(ref.nodeId)), 'optionalAccess', _223 => _223.tracks, 'access', _224 => _224[ref.property]]);
5537
- return !!track && _chunkXHRZSB77cjs.normalizeKeyframes.call(void 0, track.keyframes).some((k) => Math.abs(k.time - ref.time) <= _chunkXHRZSB77cjs.ANIMATION_TIME_EPSILON);
5539
+ return !!track && _chunkO4ONBPZWcjs.normalizeKeyframes.call(void 0, track.keyframes).some((k) => Math.abs(k.time - ref.time) <= _chunkO4ONBPZWcjs.ANIMATION_TIME_EPSILON);
5538
5540
  });
5539
5541
  if (kept.length !== selection.length) selection = kept;
5540
5542
  }
@@ -5606,7 +5608,7 @@ function createCanvasAnimationController(options) {
5606
5608
  nextKeyframe(ids = selectedIds()) {
5607
5609
  const list = [...ids];
5608
5610
  const times = getKeyframeTimes(options.getNodes(), list.length ? { ids: list } : {});
5609
- const next = times.find((t) => t > player.currentTime + _chunkXHRZSB77cjs.ANIMATION_TIME_EPSILON);
5611
+ const next = times.find((t) => t > player.currentTime + _chunkO4ONBPZWcjs.ANIMATION_TIME_EPSILON);
5610
5612
  if (next === void 0) return null;
5611
5613
  player.seek(next);
5612
5614
  return next;
@@ -5614,7 +5616,7 @@ function createCanvasAnimationController(options) {
5614
5616
  previousKeyframe(ids = selectedIds()) {
5615
5617
  const list = [...ids];
5616
5618
  const times = getKeyframeTimes(options.getNodes(), list.length ? { ids: list } : {});
5617
- const prev = [...times].reverse().find((t) => t < player.currentTime - _chunkXHRZSB77cjs.ANIMATION_TIME_EPSILON);
5619
+ const prev = [...times].reverse().find((t) => t < player.currentTime - _chunkO4ONBPZWcjs.ANIMATION_TIME_EPSILON);
5618
5620
  if (prev === void 0) return null;
5619
5621
  player.seek(prev);
5620
5622
  return prev;
@@ -8746,5 +8748,5 @@ function createCanvasDrawController(options) {
8746
8748
 
8747
8749
 
8748
8750
 
8749
- exports.ANIMATABLE_PROPERTIES = ANIMATABLE_PROPERTIES; exports.ANIMATION_DATA_KEY = ANIMATION_DATA_KEY; exports.ANIMATION_EASING_LABELS = _chunkXZ4L3R4Kcjs.ANIMATION_EASING_LABELS; exports.ANIMATION_EASING_PRESETS = _chunkXZ4L3R4Kcjs.ANIMATION_EASING_PRESETS; exports.ANIMATION_TIME_EPSILON = _chunkXHRZSB77cjs.ANIMATION_TIME_EPSILON; exports.AUTO_LAYOUT_DATA_KEY = AUTO_LAYOUT_DATA_KEY; exports.AnimationEditError = AnimationEditError; exports.AnimationPlayer = _chunkXHRZSB77cjs.AnimationPlayer; exports.CANVAS_COMPONENT_DRAG_TYPE = CANVAS_COMPONENT_DRAG_TYPE; exports.CANVAS_GRADIENT_PRESETS = _chunkVNYRI265cjs.CANVAS_GRADIENT_PRESETS; exports.CANVAS_TOKEN_PROPERTIES = CANVAS_TOKEN_PROPERTIES; exports.CHILD_LAYOUT_DATA_KEY = CHILD_LAYOUT_DATA_KEY; exports.COMPONENT_DATA_KEY = COMPONENT_DATA_KEY; exports.COMPONENT_OVERRIDES_DATA_KEY = COMPONENT_OVERRIDES_DATA_KEY; exports.COMPONENT_PROPERTY_REFS_DATA_KEY = COMPONENT_PROPERTY_REFS_DATA_KEY; exports.COMPONENT_SET_DATA_KEY = COMPONENT_SET_DATA_KEY; exports.COMPONENT_SOURCE_DATA_KEY = COMPONENT_SOURCE_DATA_KEY; exports.CONNECTION_LINE_TYPES = CONNECTION_LINE_TYPES; exports.CSS_ANIMATION_PROPERTIES = CSS_ANIMATION_PROPERTIES; exports.CUBIC_BEZIER_PRESETS = _chunkXZ4L3R4Kcjs.CUBIC_BEZIER_PRESETS; exports.CanvasScenesStore = CanvasScenesStore; exports.DEFAULT_ARRANGE_SHORTCUTS = _chunk26BVFKHUcjs.DEFAULT_ARRANGE_SHORTCUTS; exports.DEFAULT_NODE_HEIGHT = _chunkWADCJ7A7cjs.DEFAULT_NODE_HEIGHT; exports.DEFAULT_NODE_WIDTH = _chunkWADCJ7A7cjs.DEFAULT_NODE_WIDTH; exports.DEFAULT_PLACEMENT_GAP = _chunkWADCJ7A7cjs.DEFAULT_PLACEMENT_GAP; exports.INSTANCE_DATA_KEY = INSTANCE_DATA_KEY; exports.LOCKED_DATA_KEY = LOCKED_DATA_KEY; exports.LOCKED_PREVIOUS_FLAGS_KEY = LOCKED_PREVIOUS_FLAGS_KEY; exports.MAX_KEYFRAME_REFS = MAX_KEYFRAME_REFS; exports.ManualClock = _chunkXHRZSB77cjs.ManualClock; exports.PATHFINDER_OPERATIONS = _chunkVNYRI265cjs.PATHFINDER_OPERATIONS; exports.PathOpsError = _chunkVNYRI265cjs.PathOpsError; exports.PlanarMap = _chunkVNYRI265cjs.PlanarMap; exports.RESIZE_HANDLES = RESIZE_HANDLES; exports.SHAPE_DATA_KEY = SHAPE_DATA_KEY; exports.SHAPE_KINDS = _chunkVNYRI265cjs.SHAPE_KINDS; exports.SHAPE_NODE_TYPE = SHAPE_NODE_TYPE; exports.SHAPE_OPERATIONS = SHAPE_OPERATIONS; exports.StreamingLayoutManager = StreamingLayoutManager; exports.TOKEN_BINDINGS_DATA_KEY = TOKEN_BINDINGS_DATA_KEY; exports.TOKEN_MODES_DATA_KEY = TOKEN_MODES_DATA_KEY; exports.addCanvasVariant = addCanvasVariant; exports.addKeyframesAtTime = addKeyframesAtTime; exports.alignNodes = alignNodes; exports.angleToSvgLinearCoords = _chunkVNYRI265cjs.angleToSvgLinearCoords; exports.animateNode = animateNode; exports.applyAnimation = applyAnimation; exports.applyAnimationOverrides = applyAnimationOverrides; exports.applyConstraints = applyConstraints; exports.applyNodeUpdates = applyNodeUpdates; exports.applyShapeCombination = applyShapeCombination; exports.applyShapeReplacement = applyShapeReplacement; exports.arcToCubics = _chunkVNYRI265cjs.arcToCubics; exports.bezierPathArea = _chunkVNYRI265cjs.bezierPathArea; exports.bezierPathBounds = _chunkVNYRI265cjs.bezierPathBounds; exports.bezierPathLength = _chunkVNYRI265cjs.bezierPathLength; exports.bezierPathPointAtLength = _chunkVNYRI265cjs.bezierPathPointAtLength; exports.bezierPathSignedArea = _chunkVNYRI265cjs.bezierPathSignedArea; exports.bezierPathToSvg = _chunkVNYRI265cjs.bezierPathToSvg; exports.bindCanvasComponentProperty = bindCanvasComponentProperty; exports.bindCanvasToken = bindCanvasToken; exports.blendLayout = blendLayout; exports.boundsOf = _chunkWADCJ7A7cjs.boundsOf; exports.calculateDagreReflowDisplacement = calculateDagreReflowDisplacement; exports.calculateDirectionalDisplacement = calculateDirectionalDisplacement; exports.canCombineShapeNodes = canCombineShapeNodes; exports.canOffsetShapeNodes = canOffsetShapeNodes; exports.canOutlineShapeNodeStrokes = canOutlineShapeNodeStrokes; exports.canvasHeight = canvasHeight; exports.centerNodes = _chunkWADCJ7A7cjs.centerNodes; exports.centre = _chunkWADCJ7A7cjs.centre; exports.clampAnimationValue = clampAnimationValue; exports.clampLayoutSize = clampLayoutSize; exports.closeContour = _chunkVNYRI265cjs.closeContour; exports.collectDescendantIds = collectDescendantIds; exports.combineCanvasComponentsAsVariants = combineCanvasComponentsAsVariants; exports.combineShapeNodes = combineShapeNodes; exports.computeNodesBoundingBox = computeNodesBoundingBox; exports.computeSnapGuides = computeSnapGuides; exports.connectedOnly = connectedOnly; exports.contourEnclosesArea = _chunkVNYRI265cjs.contourEnclosesArea; exports.contourSignedArea = _chunkVNYRI265cjs.contourSignedArea; exports.contoursToPath = _chunkVNYRI265cjs.contoursToPath; exports.copyKeyframes = copyKeyframes; exports.countPathSegments = _chunkVNYRI265cjs.countPathSegments; exports.createAnimationPlayer = _chunkXHRZSB77cjs.createAnimationPlayer; exports.createBezierTrajectory = createBezierTrajectory; exports.createCanvasAnimationController = createCanvasAnimationController; exports.createCanvasArrangeController = createCanvasArrangeController; exports.createCanvasAutoLayoutController = createCanvasAutoLayoutController; exports.createCanvasComponent = createCanvasComponent; exports.createCanvasComponentsController = createCanvasComponentsController; exports.createCanvasDrawController = createCanvasDrawController; exports.createCanvasInstance = createCanvasInstance; exports.createCanvasScenesStore = createCanvasScenesStore; exports.createDefaultStrokeStyle = createDefaultStrokeStyle; exports.createFanOutTrajectory = createFanOutTrajectory; exports.createGuideIndex = createGuideIndex; exports.createNodeGuideIndex = createNodeGuideIndex; exports.createNodeLookup = createNodeLookup; exports.cubicBezierAt = _chunkXZ4L3R4Kcjs.cubicBezierAt; exports.cubicPointAt = _chunkVNYRI265cjs.cubicPointAt; exports.cubicsToPathData = _chunkVNYRI265cjs.cubicsToPathData; exports.cutOutPiece = _chunkVNYRI265cjs.cutOutPiece; exports.dashContours = _chunkVNYRI265cjs.dashContours; exports.defaultEasing = defaultEasing; exports.deleteKeyframes = deleteKeyframes; exports.detachCanvasInstance = detachCanvasInstance; exports.detachTokenBindings = detachTokenBindings; exports.diffOverrideGroups = diffOverrideGroups; exports.distanceToBezierPath = _chunkVNYRI265cjs.distanceToBezierPath; exports.distributeNodes = distributeNodes; exports.dividePaths = _chunkVNYRI265cjs.dividePaths; exports.dividePolygons = _chunkVNYRI265cjs.dividePolygons; exports.easingFromInfluence = _chunkXZ4L3R4Kcjs.easingFromInfluence; exports.easingLabel = _chunkXZ4L3R4Kcjs.easingLabel; exports.easingToCss = _chunkXZ4L3R4Kcjs.easingToCss; exports.elasticAt = _chunkXZ4L3R4Kcjs.elasticAt; exports.ensureLayout = _chunkWADCJ7A7cjs.ensureLayout; exports.estimateCanvasHeight = estimateCanvasHeight; exports.estimateNodeSize = _chunkWADCJ7A7cjs.estimateNodeSize; exports.evaluateAnimation = evaluateAnimation; exports.evaluateEasing = _chunkXZ4L3R4Kcjs.evaluateEasing; exports.evaluateTrack = _chunkXHRZSB77cjs.evaluateTrack; exports.excludePaths = _chunkVNYRI265cjs.excludePaths; exports.exportCssAnimation = exportCssAnimation; exports.findConnectorSnap = findConnectorSnap; exports.findStrokesAtPoint = findStrokesAtPoint; exports.findVariant = findVariant; exports.fitCubicRun = _chunkVNYRI265cjs.fitCubicRun; exports.fitCubicWithTangents = _chunkVNYRI265cjs.fitCubicWithTangents; exports.fitCubics = _chunkVNYRI265cjs.fitCubics; exports.fitFreehandPath = _chunkVNYRI265cjs.fitFreehandPath; exports.fitPathData = _chunkVNYRI265cjs.fitPathData; exports.fitViewportToNodes = fitViewportToNodes; exports.fitViewportToRect = fitViewportToRect; exports.flattenSvgPath = _chunkVNYRI265cjs.flattenSvgPath; exports.flowSide = _chunkWADCJ7A7cjs.flowSide; exports.formatAnimationTime = formatAnimationTime; exports.formatNumber = _chunkVNYRI265cjs.formatNumber; exports.formatOklab = _chunkXHRZSB77cjs.formatOklab; exports.formatVariantName = formatVariantName; exports.getAbsolutePosition = getAbsolutePosition; exports.getAnimatableProperty = getAnimatableProperty; exports.getAnimatedProperties = getAnimatedProperties; exports.getAnimatedValue = getAnimatedValue; exports.getAnimationDuration = getAnimationDuration; exports.getAnimationTrack = getAnimationTrack; exports.getAutoLayout = getAutoLayout; exports.getAutoLayoutGrid = getAutoLayoutGrid; exports.getAutoLayoutInsertTarget = getAutoLayoutInsertTarget; exports.getBindableTokenProperties = getBindableTokenProperties; exports.getCanvasComponentDragId = getCanvasComponentDragId; exports.getCanvasTokenProperty = getCanvasTokenProperty; exports.getCenteredNodePosition = _chunkWADCJ7A7cjs.getCenteredNodePosition; exports.getChildLayout = getChildLayout; exports.getComponentData = getComponentData; exports.getComponentInstances = getComponentInstances; exports.getComponentPropertyDefs = getComponentPropertyDefs; exports.getComponentPropertyRefs = getComponentPropertyRefs; exports.getComponentSourceId = getComponentSourceId; exports.getCssPropertyAnimations = getCssPropertyAnimations; exports.getDefaultVariant = getDefaultVariant; exports.getEffectiveTokenModes = getEffectiveTokenModes; exports.getFlowChildren = getFlowChildren; exports.getInstanceData = getInstanceData; exports.getInstanceProperties = getInstanceProperties; exports.getInstanceStatus = getInstanceStatus; exports.getKeyframeTimes = getKeyframeTimes; exports.getLayerName = getLayerName; exports.getLayoutParent = getLayoutParent; exports.getLayoutSizing = getLayoutSizing; exports.getLayoutedNodes = _chunkWADCJ7A7cjs.getLayoutedNodes; exports.getNextVariantValues = getNextVariantValues; exports.getNodeAnimation = getNodeAnimation; exports.getNodeOverrides = getNodeOverrides; exports.getNodeRect = getNodeRect; exports.getNodeShape = getNodeShape; exports.getNodeSize = getNodeSize; exports.getNodeTokenBindings = getNodeTokenBindings; exports.getNodeTokenModes = getNodeTokenModes; exports.getOwningComponent = getOwningComponent; exports.getOwningInstance = getOwningInstance; exports.getResizingNodeRect = getResizingNodeRect; exports.getRootInstance = getRootInstance; exports.getShapeRenderData = _chunkVNYRI265cjs.getShapeRenderData; exports.getShapeSvg = _chunkVNYRI265cjs.getShapeSvg; exports.getTimelineRows = getTimelineRows; exports.getTimelineTicks = getTimelineTicks; exports.getTokenPropertyScope = getTokenPropertyScope; exports.getTokensForProperty = getTokensForProperty; exports.getVariantConflicts = getVariantConflicts; exports.getVariantOptions = getVariantOptions; exports.getVariantSet = getVariantSet; exports.getVariantValues = getVariantValues; exports.gradientToSvgDef = _chunkVNYRI265cjs.gradientToSvgDef; exports.handlePoint = handlePoint; exports.hasVisibleStroke = hasVisibleStroke; exports.hatchPath = _chunkVNYRI265cjs.hatchPath; exports.inferResizeHandle = inferResizeHandle; exports.inspectCanvasInstance = inspectCanvasInstance; exports.inspectNodeTokens = inspectNodeTokens; exports.interiorPoint = _chunkVNYRI265cjs.interiorPoint; exports.interpolateAnimationValue = _chunkXHRZSB77cjs.interpolateAnimationValue; exports.intersectPaths = _chunkVNYRI265cjs.intersectPaths; exports.intersectPolygons = _chunkVNYRI265cjs.intersectPolygons; exports.invertNodeUpdates = invertNodeUpdates; exports.isAnimationEasing = _chunkXZ4L3R4Kcjs.isAnimationEasing; exports.isAnimationKeyframe = _chunkXHRZSB77cjs.isAnimationKeyframe; exports.isAutoLayoutFrame = isAutoLayoutFrame; exports.isCanvasComponent = isCanvasComponent; exports.isCanvasComponentSet = isCanvasComponentSet; exports.isCanvasGradient = _chunkVNYRI265cjs.isCanvasGradient; exports.isCanvasInstance = isCanvasInstance; exports.isCssExportExact = isCssExportExact; exports.isEventFromTextInput = isEventFromTextInput; exports.isInsideInstance = isInsideInstance; exports.isKeyframeSelected = isKeyframeSelected; exports.isLocked = isLocked; exports.isMeasureModifierHeld = isMeasureModifierHeld; exports.isNodeAnimated = isNodeAnimated; exports.isShapeDescription = _chunkVNYRI265cjs.isShapeDescription; exports.isShapeNode = isShapeNode; exports.isStraightCubic = _chunkVNYRI265cjs.isStraightCubic; exports.isValidCanvasEdge = isValidCanvasEdge; exports.isValidCanvasNode = isValidCanvasNode; exports.isValidCanvasScene = isValidCanvasScene; exports.isValidUrl = isValidUrl; exports.layoutAll = layoutAll; exports.layoutBounds = layoutBounds; exports.layoutFrame = layoutFrame; exports.layoutUp = layoutUp; exports.layoutUpMany = layoutUpMany; exports.linearPositionTrajectory = linearPositionTrajectory; exports.linearTrajectory = linearTrajectory; exports.listCanvasComponents = listCanvasComponents; exports.lockNodes = lockNodes; exports.makeSizingCoherent = makeSizingCoherent; exports.matchArrangeShortcut = _chunk26BVFKHUcjs.matchArrangeShortcut; exports.matchSize = matchSize; exports.measureBetween = measureBetween; exports.measureLabel = measureLabel; exports.measureSelection = measureSelection; exports.measureToLine = measureToLine; exports.mergeNodeUpdates = mergeNodeUpdates; exports.mixColorsOklab = _chunkXHRZSB77cjs.mixColorsOklab; exports.moveKeyframes = moveKeyframes; exports.moveLayoutChild = moveLayoutChild; exports.multiPolygonArea = _chunkVNYRI265cjs.multiPolygonArea; exports.multiPolygonBounds = _chunkVNYRI265cjs.multiPolygonBounds; exports.nearestHandlePositions = nearestHandlePositions; exports.normalizeBezierPath = _chunkVNYRI265cjs.normalizeBezierPath; exports.normalizeKeyframes = _chunkXHRZSB77cjs.normalizeKeyframes; exports.offsetPath = _chunkVNYRI265cjs.offsetPath; exports.offsetShapeNodes = offsetShapeNodes; exports.oklabToRgb = _chunkXHRZSB77cjs.oklabToRgb; exports.oppositePosition = oppositePosition; exports.outlineShapeNodeStrokes = outlineShapeNodeStrokes; exports.outlineStroke = _chunkVNYRI265cjs.outlineStroke; exports.overlaps = _chunkWADCJ7A7cjs.overlaps; exports.pageHidden = _chunkXHRZSB77cjs.pageHidden; exports.parseCanvasClipboardData = parseCanvasClipboardData; exports.parseCanvasScenes = parseCanvasScenes; exports.parseCssEasing = _chunkXZ4L3R4Kcjs.parseCssEasing; exports.parseCssGradient = _chunkVNYRI265cjs.parseCssGradient; exports.parseKeyframeClipboard = parseKeyframeClipboard; exports.parseNodeStyleDeclarations = parseNodeStyleDeclarations; exports.parseOklab = _chunkXHRZSB77cjs.parseOklab; exports.parseSvgPath = _chunkVNYRI265cjs.parseSvgPath; exports.parseVariantName = parseVariantName; exports.pasteKeyframes = pasteKeyframes; exports.pathBoolean = _chunkVNYRI265cjs.pathBoolean; exports.pathBooleanSelect = _chunkVNYRI265cjs.pathBooleanSelect; exports.pathToContours = _chunkVNYRI265cjs.pathToContours; exports.pathfinder = _chunkVNYRI265cjs.pathfinder; exports.placeBeside = _chunkWADCJ7A7cjs.placeBeside; exports.planarSplit = _chunkVNYRI265cjs.planarSplit; exports.playWebAnimations = playWebAnimations; exports.pointInBezierPath = _chunkVNYRI265cjs.pointInBezierPath; exports.pointInMultiPolygon = _chunkVNYRI265cjs.pointInMultiPolygon; exports.pointInRings = _chunkVNYRI265cjs.pointInRings; exports.polygonArea = _chunkVNYRI265cjs.polygonArea; exports.polygonBoolean = _chunkVNYRI265cjs.polygonBoolean; exports.polygonToSvgPath = _chunkVNYRI265cjs.polygonToSvgPath; exports.positionToSide = positionToSide; exports.pruneCanvasTokenModes = pruneCanvasTokenModes; exports.pushCanvasInstanceOverrides = pushCanvasInstanceOverrides; exports.readAnimatableValue = readAnimatableValue; exports.readNodeStyleProperty = readNodeStyleProperty; exports.readOverrideGroup = readOverrideGroup; exports.readStyleSize = readStyleSize; exports.realClock = _chunkXHRZSB77cjs.realClock; exports.recordAnimationChanges = recordAnimationChanges; exports.relayoutUpdates = relayoutUpdates; exports.remapPastedNodes = remapPastedNodes; exports.removeCanvasVariant = removeCanvasVariant; exports.removeTrack = removeTrack; exports.renameCanvasVariantProperty = renameCanvasVariantProperty; exports.renameCanvasVariantValue = renameCanvasVariantValue; exports.reorderNodes = reorderNodes; exports.repositionNodesTo = repositionNodesTo; exports.resetCanvasInstanceOverrides = resetCanvasInstanceOverrides; exports.resizeHandleAxes = resizeHandleAxes; exports.resolveCanvasGradient = _chunkVNYRI265cjs.resolveCanvasGradient; exports.resolveCanvasTokens = resolveCanvasTokens; exports.resolveEasing = _chunkXZ4L3R4Kcjs.resolveEasing; exports.resolvePadding = resolvePadding; exports.restoreCanvasMainComponent = restoreCanvasMainComponent; exports.revertShapeCombination = revertShapeCombination; exports.rgbToOklab = _chunkXHRZSB77cjs.rgbToOklab; exports.ringSignedArea = _chunkVNYRI265cjs.ringSignedArea; exports.runMultiNodeTransition = runMultiNodeTransition; exports.sampleAnimationFrames = sampleAnimationFrames; exports.scaleKeyframes = scaleKeyframes; exports.segmentBounds = _chunkVNYRI265cjs.segmentBounds; exports.segmentCurvature = _chunkVNYRI265cjs.segmentCurvature; exports.segmentDerivative = _chunkVNYRI265cjs.segmentDerivative; exports.segmentExtrema = _chunkVNYRI265cjs.segmentExtrema; exports.segmentIntersections = _chunkVNYRI265cjs.segmentIntersections; exports.segmentLength = _chunkVNYRI265cjs.segmentLength; exports.segmentNearest = _chunkVNYRI265cjs.segmentNearest; exports.segmentParamAtLength = _chunkVNYRI265cjs.segmentParamAtLength; exports.segmentPoint = _chunkVNYRI265cjs.segmentPoint; exports.segmentTangent = _chunkVNYRI265cjs.segmentTangent; exports.serializeCanvasNodes = serializeCanvasNodes; exports.setCanvasComponentProperty = setCanvasComponentProperty; exports.setCanvasInstanceProperties = setCanvasInstanceProperties; exports.setCanvasTokenMode = setCanvasTokenMode; exports.setCanvasVariantProperties = setCanvasVariantProperties; exports.setKeyframe = setKeyframe; exports.setKeyframeEasing = setKeyframeEasing; exports.setMotionPath = setMotionPath; exports.setTrackEnabled = setTrackEnabled; exports.shapeNodeToBezierPath = shapeNodeToBezierPath; exports.shapeNodeToPolygon = shapeNodeToPolygon; exports.shapeToBezierPath = shapeToBezierPath; exports.shapeToPolygon = _chunkVNYRI265cjs.shapeToPolygon; exports.sideToPosition = sideToPosition; exports.simplifyRing = _chunkVNYRI265cjs.simplifyRing; exports.snapKeyframeDelta = snapKeyframeDelta; exports.snapNodeDrag = snapNodeDrag; exports.snapNodeResize = snapNodeResize; exports.snapResize = snapResize; exports.snapTimeToFrame = snapTimeToFrame; exports.snapToGrid = snapToGrid; exports.splitSegment = _chunkVNYRI265cjs.splitSegment; exports.springAt = _chunkXZ4L3R4Kcjs.springAt; exports.streamlinePoints = streamlinePoints; exports.strokeBoundingBox = strokeBoundingBox; exports.strokeOutlineRings = _chunkVNYRI265cjs.strokeOutlineRings; exports.strokePointsToPathData = strokePointsToPathData; exports.strokeToShapeNode = strokeToShapeNode; exports.subSegment = _chunkVNYRI265cjs.subSegment; exports.subtractPaths = _chunkVNYRI265cjs.subtractPaths; exports.subtractPolygons = _chunkVNYRI265cjs.subtractPolygons; exports.swapCanvasInstance = swapCanvasInstance; exports.syncAllCanvasInstances = syncAllCanvasInstances; exports.syncCanvasComponents = syncCanvasComponents; exports.syncCanvasInstance = syncCanvasInstance; exports.timeToX = timeToX; exports.toBezierPath = _chunkVNYRI265cjs.toBezierPath; exports.toWebAnimations = toWebAnimations; exports.toggleLockNodes = toggleLockNodes; exports.transformBezierPath = _chunkVNYRI265cjs.transformBezierPath; exports.trimSegments = _chunkVNYRI265cjs.trimSegments; exports.unionPolygons = _chunkVNYRI265cjs.unionPolygons; exports.unitePaths = _chunkVNYRI265cjs.unitePaths; exports.unlockNodes = unlockNodes; exports.updateKeyframe = updateKeyframe; exports.windingNumber = _chunkVNYRI265cjs.windingNumber; exports.withNodeAnimation = withNodeAnimation; exports.withStyleOpacity = withStyleOpacity; exports.withStyleSize = withStyleSize; exports.wouldCreateComponentCycle = wouldCreateComponentCycle; exports.wrapAnimationTime = _chunkXHRZSB77cjs.wrapAnimationTime; exports.writeNodeStyleProperty = writeNodeStyleProperty; exports.writeOverrideGroup = writeOverrideGroup; exports.xToTime = xToTime; exports.xorPolygons = _chunkVNYRI265cjs.xorPolygons;
8751
+ exports.ANIMATABLE_PROPERTIES = ANIMATABLE_PROPERTIES; exports.ANIMATION_DATA_KEY = ANIMATION_DATA_KEY; exports.ANIMATION_EASING_LABELS = _chunkXZ4L3R4Kcjs.ANIMATION_EASING_LABELS; exports.ANIMATION_EASING_PRESETS = _chunkXZ4L3R4Kcjs.ANIMATION_EASING_PRESETS; exports.ANIMATION_TIME_EPSILON = _chunkO4ONBPZWcjs.ANIMATION_TIME_EPSILON; exports.AUTO_LAYOUT_DATA_KEY = AUTO_LAYOUT_DATA_KEY; exports.AnimationEditError = AnimationEditError; exports.AnimationPlayer = _chunkO4ONBPZWcjs.AnimationPlayer; exports.CANVAS_COMPONENT_DRAG_TYPE = CANVAS_COMPONENT_DRAG_TYPE; exports.CANVAS_GRADIENT_PRESETS = _chunkVNYRI265cjs.CANVAS_GRADIENT_PRESETS; exports.CANVAS_TOKEN_PROPERTIES = CANVAS_TOKEN_PROPERTIES; exports.CHILD_LAYOUT_DATA_KEY = CHILD_LAYOUT_DATA_KEY; exports.COMPONENT_DATA_KEY = COMPONENT_DATA_KEY; exports.COMPONENT_OVERRIDES_DATA_KEY = COMPONENT_OVERRIDES_DATA_KEY; exports.COMPONENT_PROPERTY_REFS_DATA_KEY = COMPONENT_PROPERTY_REFS_DATA_KEY; exports.COMPONENT_SET_DATA_KEY = COMPONENT_SET_DATA_KEY; exports.COMPONENT_SOURCE_DATA_KEY = COMPONENT_SOURCE_DATA_KEY; exports.CONNECTION_LINE_TYPES = CONNECTION_LINE_TYPES; exports.CSS_ANIMATION_PROPERTIES = CSS_ANIMATION_PROPERTIES; exports.CUBIC_BEZIER_PRESETS = _chunkXZ4L3R4Kcjs.CUBIC_BEZIER_PRESETS; exports.CanvasScenesStore = CanvasScenesStore; exports.DEFAULT_ARRANGE_SHORTCUTS = _chunk26BVFKHUcjs.DEFAULT_ARRANGE_SHORTCUTS; exports.DEFAULT_NODE_HEIGHT = _chunkWADCJ7A7cjs.DEFAULT_NODE_HEIGHT; exports.DEFAULT_NODE_WIDTH = _chunkWADCJ7A7cjs.DEFAULT_NODE_WIDTH; exports.DEFAULT_PLACEMENT_GAP = _chunkWADCJ7A7cjs.DEFAULT_PLACEMENT_GAP; exports.INSTANCE_DATA_KEY = INSTANCE_DATA_KEY; exports.LOCKED_DATA_KEY = LOCKED_DATA_KEY; exports.LOCKED_PREVIOUS_FLAGS_KEY = LOCKED_PREVIOUS_FLAGS_KEY; exports.MAX_KEYFRAME_REFS = MAX_KEYFRAME_REFS; exports.ManualClock = _chunkO4ONBPZWcjs.ManualClock; exports.PATHFINDER_OPERATIONS = _chunkVNYRI265cjs.PATHFINDER_OPERATIONS; exports.PathOpsError = _chunkVNYRI265cjs.PathOpsError; exports.PlanarMap = _chunkVNYRI265cjs.PlanarMap; exports.RESIZE_HANDLES = RESIZE_HANDLES; exports.SHAPE_DATA_KEY = SHAPE_DATA_KEY; exports.SHAPE_KINDS = _chunkVNYRI265cjs.SHAPE_KINDS; exports.SHAPE_NODE_TYPE = SHAPE_NODE_TYPE; exports.SHAPE_OPERATIONS = SHAPE_OPERATIONS; exports.StreamingLayoutManager = StreamingLayoutManager; exports.TOKEN_BINDINGS_DATA_KEY = TOKEN_BINDINGS_DATA_KEY; exports.TOKEN_MODES_DATA_KEY = TOKEN_MODES_DATA_KEY; exports.addCanvasVariant = addCanvasVariant; exports.addKeyframesAtTime = addKeyframesAtTime; exports.alignNodes = alignNodes; exports.angleToSvgLinearCoords = _chunkVNYRI265cjs.angleToSvgLinearCoords; exports.animateNode = animateNode; exports.applyAnimation = applyAnimation; exports.applyAnimationOverrides = applyAnimationOverrides; exports.applyConstraints = applyConstraints; exports.applyNodeUpdates = applyNodeUpdates; exports.applyShapeCombination = applyShapeCombination; exports.applyShapeReplacement = applyShapeReplacement; exports.arcToCubics = _chunkVNYRI265cjs.arcToCubics; exports.bezierPathArea = _chunkVNYRI265cjs.bezierPathArea; exports.bezierPathBounds = _chunkVNYRI265cjs.bezierPathBounds; exports.bezierPathLength = _chunkVNYRI265cjs.bezierPathLength; exports.bezierPathPointAtLength = _chunkVNYRI265cjs.bezierPathPointAtLength; exports.bezierPathSignedArea = _chunkVNYRI265cjs.bezierPathSignedArea; exports.bezierPathToSvg = _chunkVNYRI265cjs.bezierPathToSvg; exports.bindCanvasComponentProperty = bindCanvasComponentProperty; exports.bindCanvasToken = bindCanvasToken; exports.blendLayout = blendLayout; exports.boundsOf = _chunkWADCJ7A7cjs.boundsOf; exports.calculateDagreReflowDisplacement = calculateDagreReflowDisplacement; exports.calculateDirectionalDisplacement = calculateDirectionalDisplacement; exports.canCombineShapeNodes = canCombineShapeNodes; exports.canOffsetShapeNodes = canOffsetShapeNodes; exports.canOutlineShapeNodeStrokes = canOutlineShapeNodeStrokes; exports.canvasHeight = canvasHeight; exports.centerNodes = _chunkWADCJ7A7cjs.centerNodes; exports.centre = _chunkWADCJ7A7cjs.centre; exports.clampAnimationValue = clampAnimationValue; exports.clampLayoutSize = clampLayoutSize; exports.closeContour = _chunkVNYRI265cjs.closeContour; exports.collectDescendantIds = collectDescendantIds; exports.combineCanvasComponentsAsVariants = combineCanvasComponentsAsVariants; exports.combineShapeNodes = combineShapeNodes; exports.computeNodesBoundingBox = computeNodesBoundingBox; exports.computeSnapGuides = computeSnapGuides; exports.connectedOnly = connectedOnly; exports.contourEnclosesArea = _chunkVNYRI265cjs.contourEnclosesArea; exports.contourSignedArea = _chunkVNYRI265cjs.contourSignedArea; exports.contoursToPath = _chunkVNYRI265cjs.contoursToPath; exports.copyKeyframes = copyKeyframes; exports.countPathSegments = _chunkVNYRI265cjs.countPathSegments; exports.createAnimationPlayer = _chunkO4ONBPZWcjs.createAnimationPlayer; exports.createBezierTrajectory = createBezierTrajectory; exports.createCanvasAnimationController = createCanvasAnimationController; exports.createCanvasArrangeController = createCanvasArrangeController; exports.createCanvasAutoLayoutController = createCanvasAutoLayoutController; exports.createCanvasComponent = createCanvasComponent; exports.createCanvasComponentsController = createCanvasComponentsController; exports.createCanvasDrawController = createCanvasDrawController; exports.createCanvasInstance = createCanvasInstance; exports.createCanvasScenesStore = createCanvasScenesStore; exports.createDefaultStrokeStyle = createDefaultStrokeStyle; exports.createFanOutTrajectory = createFanOutTrajectory; exports.createGuideIndex = createGuideIndex; exports.createNodeGuideIndex = createNodeGuideIndex; exports.createNodeLookup = createNodeLookup; exports.cubicBezierAt = _chunkXZ4L3R4Kcjs.cubicBezierAt; exports.cubicPointAt = _chunkVNYRI265cjs.cubicPointAt; exports.cubicsToPathData = _chunkVNYRI265cjs.cubicsToPathData; exports.cutOutPiece = _chunkVNYRI265cjs.cutOutPiece; exports.dashContours = _chunkVNYRI265cjs.dashContours; exports.defaultEasing = defaultEasing; exports.deleteKeyframes = deleteKeyframes; exports.detachCanvasInstance = detachCanvasInstance; exports.detachTokenBindings = detachTokenBindings; exports.diffOverrideGroups = diffOverrideGroups; exports.distanceToBezierPath = _chunkVNYRI265cjs.distanceToBezierPath; exports.distributeNodes = distributeNodes; exports.dividePaths = _chunkVNYRI265cjs.dividePaths; exports.dividePolygons = _chunkVNYRI265cjs.dividePolygons; exports.easingFromInfluence = _chunkXZ4L3R4Kcjs.easingFromInfluence; exports.easingLabel = _chunkXZ4L3R4Kcjs.easingLabel; exports.easingToCss = _chunkXZ4L3R4Kcjs.easingToCss; exports.elasticAt = _chunkXZ4L3R4Kcjs.elasticAt; exports.ensureLayout = _chunkWADCJ7A7cjs.ensureLayout; exports.estimateCanvasHeight = estimateCanvasHeight; exports.estimateNodeSize = _chunkWADCJ7A7cjs.estimateNodeSize; exports.evaluateAnimation = evaluateAnimation; exports.evaluateEasing = _chunkXZ4L3R4Kcjs.evaluateEasing; exports.evaluateTrack = _chunkO4ONBPZWcjs.evaluateTrack; exports.excludePaths = _chunkVNYRI265cjs.excludePaths; exports.exportCssAnimation = exportCssAnimation; exports.findConnectorSnap = findConnectorSnap; exports.findStrokesAtPoint = findStrokesAtPoint; exports.findVariant = findVariant; exports.fitCubicRun = _chunkVNYRI265cjs.fitCubicRun; exports.fitCubicWithTangents = _chunkVNYRI265cjs.fitCubicWithTangents; exports.fitCubics = _chunkVNYRI265cjs.fitCubics; exports.fitFreehandPath = _chunkVNYRI265cjs.fitFreehandPath; exports.fitPathData = _chunkVNYRI265cjs.fitPathData; exports.fitViewportToNodes = fitViewportToNodes; exports.fitViewportToRect = fitViewportToRect; exports.flattenSvgPath = _chunkVNYRI265cjs.flattenSvgPath; exports.flowSide = _chunkWADCJ7A7cjs.flowSide; exports.formatAnimationTime = formatAnimationTime; exports.formatNumber = _chunkVNYRI265cjs.formatNumber; exports.formatOklab = _chunkMR3Z4OQIcjs.formatOklab; exports.formatVariantName = formatVariantName; exports.getAbsolutePosition = getAbsolutePosition; exports.getAnimatableProperty = getAnimatableProperty; exports.getAnimatedProperties = getAnimatedProperties; exports.getAnimatedValue = getAnimatedValue; exports.getAnimationDuration = getAnimationDuration; exports.getAnimationTrack = getAnimationTrack; exports.getAutoLayout = getAutoLayout; exports.getAutoLayoutGrid = getAutoLayoutGrid; exports.getAutoLayoutInsertTarget = getAutoLayoutInsertTarget; exports.getBindableTokenProperties = getBindableTokenProperties; exports.getCanvasComponentDragId = getCanvasComponentDragId; exports.getCanvasTokenProperty = getCanvasTokenProperty; exports.getCenteredNodePosition = _chunkWADCJ7A7cjs.getCenteredNodePosition; exports.getChildLayout = getChildLayout; exports.getComponentData = getComponentData; exports.getComponentInstances = getComponentInstances; exports.getComponentPropertyDefs = getComponentPropertyDefs; exports.getComponentPropertyRefs = getComponentPropertyRefs; exports.getComponentSourceId = getComponentSourceId; exports.getCssPropertyAnimations = getCssPropertyAnimations; exports.getDefaultVariant = getDefaultVariant; exports.getEffectiveTokenModes = getEffectiveTokenModes; exports.getFlowChildren = getFlowChildren; exports.getInstanceData = getInstanceData; exports.getInstanceProperties = getInstanceProperties; exports.getInstanceStatus = getInstanceStatus; exports.getKeyframeTimes = getKeyframeTimes; exports.getLayerName = getLayerName; exports.getLayoutParent = getLayoutParent; exports.getLayoutSizing = getLayoutSizing; exports.getLayoutedNodes = _chunkWADCJ7A7cjs.getLayoutedNodes; exports.getNextVariantValues = getNextVariantValues; exports.getNodeAnimation = getNodeAnimation; exports.getNodeOverrides = getNodeOverrides; exports.getNodeRect = getNodeRect; exports.getNodeShape = getNodeShape; exports.getNodeSize = getNodeSize; exports.getNodeTokenBindings = getNodeTokenBindings; exports.getNodeTokenModes = getNodeTokenModes; exports.getOwningComponent = getOwningComponent; exports.getOwningInstance = getOwningInstance; exports.getResizingNodeRect = getResizingNodeRect; exports.getRootInstance = getRootInstance; exports.getShapeRenderData = _chunkVNYRI265cjs.getShapeRenderData; exports.getShapeSvg = _chunkVNYRI265cjs.getShapeSvg; exports.getTimelineRows = getTimelineRows; exports.getTimelineTicks = getTimelineTicks; exports.getTokenPropertyScope = getTokenPropertyScope; exports.getTokensForProperty = getTokensForProperty; exports.getVariantConflicts = getVariantConflicts; exports.getVariantOptions = getVariantOptions; exports.getVariantSet = getVariantSet; exports.getVariantValues = getVariantValues; exports.gradientToSvgDef = _chunkVNYRI265cjs.gradientToSvgDef; exports.handlePoint = handlePoint; exports.hasVisibleStroke = hasVisibleStroke; exports.hatchPath = _chunkVNYRI265cjs.hatchPath; exports.inferResizeHandle = inferResizeHandle; exports.inspectCanvasInstance = inspectCanvasInstance; exports.inspectNodeTokens = inspectNodeTokens; exports.interiorPoint = _chunkVNYRI265cjs.interiorPoint; exports.interpolateAnimationValue = _chunkO4ONBPZWcjs.interpolateAnimationValue; exports.intersectPaths = _chunkVNYRI265cjs.intersectPaths; exports.intersectPolygons = _chunkVNYRI265cjs.intersectPolygons; exports.invertNodeUpdates = invertNodeUpdates; exports.isAnimationEasing = _chunkXZ4L3R4Kcjs.isAnimationEasing; exports.isAnimationKeyframe = _chunkO4ONBPZWcjs.isAnimationKeyframe; exports.isAutoLayoutFrame = isAutoLayoutFrame; exports.isCanvasComponent = isCanvasComponent; exports.isCanvasComponentSet = isCanvasComponentSet; exports.isCanvasGradient = _chunkVNYRI265cjs.isCanvasGradient; exports.isCanvasInstance = isCanvasInstance; exports.isCssExportExact = isCssExportExact; exports.isEventFromTextInput = isEventFromTextInput; exports.isInsideInstance = isInsideInstance; exports.isKeyframeSelected = isKeyframeSelected; exports.isLocked = isLocked; exports.isMeasureModifierHeld = isMeasureModifierHeld; exports.isNodeAnimated = isNodeAnimated; exports.isShapeDescription = _chunkVNYRI265cjs.isShapeDescription; exports.isShapeNode = isShapeNode; exports.isStraightCubic = _chunkVNYRI265cjs.isStraightCubic; exports.isValidCanvasEdge = isValidCanvasEdge; exports.isValidCanvasNode = isValidCanvasNode; exports.isValidCanvasScene = isValidCanvasScene; exports.isValidUrl = isValidUrl; exports.layoutAll = layoutAll; exports.layoutBounds = layoutBounds; exports.layoutFrame = layoutFrame; exports.layoutUp = layoutUp; exports.layoutUpMany = layoutUpMany; exports.linearPositionTrajectory = linearPositionTrajectory; exports.linearTrajectory = linearTrajectory; exports.listCanvasComponents = listCanvasComponents; exports.lockNodes = lockNodes; exports.makeSizingCoherent = makeSizingCoherent; exports.matchArrangeShortcut = _chunk26BVFKHUcjs.matchArrangeShortcut; exports.matchSize = matchSize; exports.measureBetween = measureBetween; exports.measureLabel = measureLabel; exports.measureSelection = measureSelection; exports.measureToLine = measureToLine; exports.mergeNodeUpdates = mergeNodeUpdates; exports.mixColorsOklab = _chunkMR3Z4OQIcjs.mixColorsOklab; exports.moveKeyframes = moveKeyframes; exports.moveLayoutChild = moveLayoutChild; exports.multiPolygonArea = _chunkVNYRI265cjs.multiPolygonArea; exports.multiPolygonBounds = _chunkVNYRI265cjs.multiPolygonBounds; exports.nearestHandlePositions = nearestHandlePositions; exports.normalizeBezierPath = _chunkVNYRI265cjs.normalizeBezierPath; exports.normalizeKeyframes = _chunkO4ONBPZWcjs.normalizeKeyframes; exports.offsetPath = _chunkVNYRI265cjs.offsetPath; exports.offsetShapeNodes = offsetShapeNodes; exports.oklabToRgb = _chunkMR3Z4OQIcjs.oklabToRgb; exports.oppositePosition = oppositePosition; exports.outlineShapeNodeStrokes = outlineShapeNodeStrokes; exports.outlineStroke = _chunkVNYRI265cjs.outlineStroke; exports.overlaps = _chunkWADCJ7A7cjs.overlaps; exports.pageHidden = _chunkO4ONBPZWcjs.pageHidden; exports.parseCanvasClipboardData = parseCanvasClipboardData; exports.parseCanvasScenes = parseCanvasScenes; exports.parseCssEasing = _chunkXZ4L3R4Kcjs.parseCssEasing; exports.parseCssGradient = _chunkVNYRI265cjs.parseCssGradient; exports.parseKeyframeClipboard = parseKeyframeClipboard; exports.parseNodeStyleDeclarations = parseNodeStyleDeclarations; exports.parseOklab = _chunkMR3Z4OQIcjs.parseOklab; exports.parseSvgPath = _chunkVNYRI265cjs.parseSvgPath; exports.parseVariantName = parseVariantName; exports.pasteKeyframes = pasteKeyframes; exports.pathBoolean = _chunkVNYRI265cjs.pathBoolean; exports.pathBooleanSelect = _chunkVNYRI265cjs.pathBooleanSelect; exports.pathToContours = _chunkVNYRI265cjs.pathToContours; exports.pathfinder = _chunkVNYRI265cjs.pathfinder; exports.placeBeside = _chunkWADCJ7A7cjs.placeBeside; exports.planarSplit = _chunkVNYRI265cjs.planarSplit; exports.playWebAnimations = playWebAnimations; exports.pointInBezierPath = _chunkVNYRI265cjs.pointInBezierPath; exports.pointInMultiPolygon = _chunkVNYRI265cjs.pointInMultiPolygon; exports.pointInRings = _chunkVNYRI265cjs.pointInRings; exports.polygonArea = _chunkVNYRI265cjs.polygonArea; exports.polygonBoolean = _chunkVNYRI265cjs.polygonBoolean; exports.polygonToSvgPath = _chunkVNYRI265cjs.polygonToSvgPath; exports.positionToSide = positionToSide; exports.pruneCanvasTokenModes = pruneCanvasTokenModes; exports.pushCanvasInstanceOverrides = pushCanvasInstanceOverrides; exports.readAnimatableValue = readAnimatableValue; exports.readNodeStyleProperty = readNodeStyleProperty; exports.readOverrideGroup = readOverrideGroup; exports.readStyleSize = readStyleSize; exports.realClock = _chunkO4ONBPZWcjs.realClock; exports.recordAnimationChanges = recordAnimationChanges; exports.relayoutUpdates = relayoutUpdates; exports.remapPastedNodes = remapPastedNodes; exports.removeCanvasVariant = removeCanvasVariant; exports.removeTrack = removeTrack; exports.renameCanvasVariantProperty = renameCanvasVariantProperty; exports.renameCanvasVariantValue = renameCanvasVariantValue; exports.reorderNodes = reorderNodes; exports.repositionNodesTo = repositionNodesTo; exports.resetCanvasInstanceOverrides = resetCanvasInstanceOverrides; exports.resizeHandleAxes = resizeHandleAxes; exports.resolveCanvasGradient = _chunkVNYRI265cjs.resolveCanvasGradient; exports.resolveCanvasTokens = resolveCanvasTokens; exports.resolveEasing = _chunkXZ4L3R4Kcjs.resolveEasing; exports.resolvePadding = resolvePadding; exports.restoreCanvasMainComponent = restoreCanvasMainComponent; exports.revertShapeCombination = revertShapeCombination; exports.rgbToOklab = _chunkMR3Z4OQIcjs.rgbToOklab; exports.ringSignedArea = _chunkVNYRI265cjs.ringSignedArea; exports.runMultiNodeTransition = runMultiNodeTransition; exports.sampleAnimationFrames = sampleAnimationFrames; exports.scaleKeyframes = scaleKeyframes; exports.segmentBounds = _chunkVNYRI265cjs.segmentBounds; exports.segmentCurvature = _chunkVNYRI265cjs.segmentCurvature; exports.segmentDerivative = _chunkVNYRI265cjs.segmentDerivative; exports.segmentExtrema = _chunkVNYRI265cjs.segmentExtrema; exports.segmentIntersections = _chunkVNYRI265cjs.segmentIntersections; exports.segmentLength = _chunkVNYRI265cjs.segmentLength; exports.segmentNearest = _chunkVNYRI265cjs.segmentNearest; exports.segmentParamAtLength = _chunkVNYRI265cjs.segmentParamAtLength; exports.segmentPoint = _chunkVNYRI265cjs.segmentPoint; exports.segmentTangent = _chunkVNYRI265cjs.segmentTangent; exports.serializeCanvasNodes = serializeCanvasNodes; exports.setCanvasComponentProperty = setCanvasComponentProperty; exports.setCanvasInstanceProperties = setCanvasInstanceProperties; exports.setCanvasTokenMode = setCanvasTokenMode; exports.setCanvasVariantProperties = setCanvasVariantProperties; exports.setKeyframe = setKeyframe; exports.setKeyframeEasing = setKeyframeEasing; exports.setMotionPath = setMotionPath; exports.setTrackEnabled = setTrackEnabled; exports.shapeNodeToBezierPath = shapeNodeToBezierPath; exports.shapeNodeToPolygon = shapeNodeToPolygon; exports.shapeToBezierPath = shapeToBezierPath; exports.shapeToPolygon = _chunkVNYRI265cjs.shapeToPolygon; exports.sideToPosition = sideToPosition; exports.simplifyRing = _chunkVNYRI265cjs.simplifyRing; exports.snapKeyframeDelta = snapKeyframeDelta; exports.snapNodeDrag = snapNodeDrag; exports.snapNodeResize = snapNodeResize; exports.snapResize = snapResize; exports.snapTimeToFrame = snapTimeToFrame; exports.snapToGrid = snapToGrid; exports.splitSegment = _chunkVNYRI265cjs.splitSegment; exports.springAt = _chunkXZ4L3R4Kcjs.springAt; exports.streamlinePoints = streamlinePoints; exports.strokeBoundingBox = strokeBoundingBox; exports.strokeOutlineRings = _chunkVNYRI265cjs.strokeOutlineRings; exports.strokePointsToPathData = strokePointsToPathData; exports.strokeToShapeNode = strokeToShapeNode; exports.subSegment = _chunkVNYRI265cjs.subSegment; exports.subtractPaths = _chunkVNYRI265cjs.subtractPaths; exports.subtractPolygons = _chunkVNYRI265cjs.subtractPolygons; exports.swapCanvasInstance = swapCanvasInstance; exports.syncAllCanvasInstances = syncAllCanvasInstances; exports.syncCanvasComponents = syncCanvasComponents; exports.syncCanvasInstance = syncCanvasInstance; exports.timeToX = timeToX; exports.toBezierPath = _chunkVNYRI265cjs.toBezierPath; exports.toWebAnimations = toWebAnimations; exports.toggleLockNodes = toggleLockNodes; exports.transformBezierPath = _chunkVNYRI265cjs.transformBezierPath; exports.trimSegments = _chunkVNYRI265cjs.trimSegments; exports.unionPolygons = _chunkVNYRI265cjs.unionPolygons; exports.unitePaths = _chunkVNYRI265cjs.unitePaths; exports.unlockNodes = unlockNodes; exports.updateKeyframe = updateKeyframe; exports.windingNumber = _chunkVNYRI265cjs.windingNumber; exports.withNodeAnimation = withNodeAnimation; exports.withStyleOpacity = withStyleOpacity; exports.withStyleSize = withStyleSize; exports.wouldCreateComponentCycle = wouldCreateComponentCycle; exports.wrapAnimationTime = _chunkO4ONBPZWcjs.wrapAnimationTime; exports.writeNodeStyleProperty = writeNodeStyleProperty; exports.writeOverrideGroup = writeOverrideGroup; exports.xToTime = xToTime; exports.xorPolygons = _chunkVNYRI265cjs.xorPolygons;
8750
8752
  //# sourceMappingURL=index.cjs.map