@pixldocs/canvas-renderer 0.5.363 → 0.5.365

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.
@@ -12978,7 +12978,6 @@ const PageCanvas = react.forwardRef(
12978
12978
  const shouldRestoreGroupSelection = !!((preservedGroupSelection == null ? void 0 : preservedGroupSelection.groupSelectionId) && (!preservedGroupSelection.expiresAt || preservedGroupSelection.expiresAt > Date.now()));
12979
12979
  if (skipSelectionClearOnDiscardRef.current) {
12980
12980
  skipSelectionClearOnDiscardRef.current = false;
12981
- if (shouldRestoreGroupSelection) restorePreservedGroupSelectionSoon(preservedGroupSelection);
12982
12981
  return;
12983
12982
  }
12984
12983
  const recentGroupSelectionRestore = recentGroupSelectionRestoreRef.current;
@@ -15573,7 +15572,6 @@ const PageCanvas = react.forwardRef(
15573
15572
  expiresAt: Date.now() + 1200
15574
15573
  };
15575
15574
  recentGroupSelectionRestoreRef.current = resizeRestoreSnapshot;
15576
- restorePreservedGroupSelectionSoon(resizeRestoreSnapshot);
15577
15575
  }
15578
15576
  fabricCanvas.requestRenderAll();
15579
15577
  }
@@ -15908,13 +15906,23 @@ const PageCanvas = react.forwardRef(
15908
15906
  if (freshMembers.length > 1) {
15909
15907
  isSyncingSelectionToFabricRef.current = true;
15910
15908
  try {
15911
- const newSel = new fabric__namespace.ActiveSelection(freshMembers, { canvas: fc });
15912
- if (activeSelectionSnapshot.groupSelectionId) {
15913
- applyLogicalGroupSelectionVisualState(newSel, activeSelectionSnapshot.groupSelectionId);
15909
+ const prevAS = activeBeforeSync instanceof fabric__namespace.ActiveSelection ? activeBeforeSync : null;
15910
+ const prevMembers = prevAS ? prevAS.getObjects() : [];
15911
+ const sameMembers = !!prevAS && prevMembers.length === freshMembers.length && prevMembers.every((m) => freshMembers.includes(m));
15912
+ const alreadyAligned = sameMembers && prevAS.__pixldocsAlignedAngle != null;
15913
+ if (sameMembers && alreadyAligned) {
15914
+ fc.setActiveObject(prevAS);
15915
+ prevAS.setCoords();
15916
+ fc.requestRenderAll();
15917
+ } else {
15918
+ const newSel = new fabric__namespace.ActiveSelection(freshMembers, { canvas: fc });
15919
+ if (activeSelectionSnapshot.groupSelectionId) {
15920
+ applyLogicalGroupSelectionVisualState(newSel, activeSelectionSnapshot.groupSelectionId);
15921
+ }
15922
+ fc.setActiveObject(newSel);
15923
+ newSel.setCoords();
15924
+ fc.requestRenderAll();
15914
15925
  }
15915
- fc.setActiveObject(newSel);
15916
- newSel.setCoords();
15917
- fc.requestRenderAll();
15918
15926
  } finally {
15919
15927
  isSyncingSelectionToFabricRef.current = false;
15920
15928
  }
@@ -24609,9 +24617,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
24609
24617
  }
24610
24618
  return svgString;
24611
24619
  }
24612
- const resolvedPackageVersion = "0.5.363";
24620
+ const resolvedPackageVersion = "0.5.365";
24613
24621
  const PACKAGE_VERSION = resolvedPackageVersion;
24614
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.363";
24622
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.365";
24615
24623
  const roundParityValue = (value) => {
24616
24624
  if (typeof value !== "number") return value;
24617
24625
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -25425,7 +25433,7 @@ class PixldocsRenderer {
25425
25433
  await this.waitForCanvasScene(container, cloned, i);
25426
25434
  }
25427
25435
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
25428
- const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-DcTlFDUW.cjs"));
25436
+ const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-CJdDOe5F.cjs"));
25429
25437
  const prepared = preparePagesForExport(
25430
25438
  cloned.pages,
25431
25439
  canvasWidth,
@@ -27745,7 +27753,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
27745
27753
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
27746
27754
  sanitizeSvgTreeForPdf(svgToDraw);
27747
27755
  try {
27748
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-DcTlFDUW.cjs"));
27756
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-CJdDOe5F.cjs"));
27749
27757
  try {
27750
27758
  await logTextMeasurementDiagnostic(svgToDraw);
27751
27759
  } catch {
@@ -28142,4 +28150,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
28142
28150
  exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
28143
28151
  exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
28144
28152
  exports.warmTemplateFromForm = warmTemplateFromForm;
28145
- //# sourceMappingURL=index-2dvR-r9n.cjs.map
28153
+ //# sourceMappingURL=index-BbKn-5c5.cjs.map