@pixldocs/canvas-renderer 0.5.443 → 0.5.444

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.
@@ -11661,6 +11661,13 @@ const applyTransformPreservingFlip = (obj, matrix) => {
11661
11661
  }
11662
11662
  obj.set({ scaleX: sx, scaleY: sy, flipX, flipY });
11663
11663
  };
11664
+ const restorePersistedFlipState = (obj, flipX, flipY) => {
11665
+ const sx = Math.abs(Number(obj.scaleX ?? 1)) || 1;
11666
+ const sy = Math.abs(Number(obj.scaleY ?? 1)) || 1;
11667
+ obj.set({ scaleX: sx, scaleY: sy, flipX, flipY });
11668
+ obj.setCoords();
11669
+ obj.dirty = true;
11670
+ };
11664
11671
  const toggleLogicalFlipInMatrix = (matrix, flipX, flipY) => {
11665
11672
  if (!flipX && !flipY) return matrix;
11666
11673
  const sx = flipX ? -1 : 1;
@@ -16717,14 +16724,15 @@ const PageCanvas = forwardRef(
16717
16724
  skipActiveSelectionBakeOnClearRef.current = true;
16718
16725
  try {
16719
16726
  for (const restore of activeSelectionFlipRestores) {
16720
- restore.obj.set({ flipX: restore.flipX, flipY: restore.flipY });
16721
- restore.obj.setCoords();
16722
- restore.obj.dirty = true;
16727
+ restorePersistedFlipState(restore.obj, restore.flipX, restore.flipY);
16723
16728
  }
16724
16729
  fabricCanvas.discardActiveObject();
16725
16730
  } finally {
16726
16731
  skipActiveSelectionBakeOnClearRef.current = false;
16727
16732
  }
16733
+ for (const restore of activeSelectionFlipRestores) {
16734
+ restorePersistedFlipState(restore.obj, restore.flipX, restore.flipY);
16735
+ }
16728
16736
  for (const bake of pendingCropGroupFrameBakes) {
16729
16737
  const ct = bake.obj.__cropData;
16730
16738
  if (!ct) continue;
@@ -25911,9 +25919,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
25911
25919
  }
25912
25920
  return svgString;
25913
25921
  }
25914
- const resolvedPackageVersion = "0.5.443";
25922
+ const resolvedPackageVersion = "0.5.444";
25915
25923
  const PACKAGE_VERSION = resolvedPackageVersion;
25916
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.443";
25924
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.444";
25917
25925
  const roundParityValue = (value) => {
25918
25926
  if (typeof value !== "number") return value;
25919
25927
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -26727,7 +26735,7 @@ class PixldocsRenderer {
26727
26735
  await this.waitForCanvasScene(container, cloned, i);
26728
26736
  }
26729
26737
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
26730
- const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-Chx_7ffv.js");
26738
+ const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-D4YSdx4j.js");
26731
26739
  const prepared = preparePagesForExport(
26732
26740
  cloned.pages,
26733
26741
  canvasWidth,
@@ -29047,7 +29055,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
29047
29055
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
29048
29056
  sanitizeSvgTreeForPdf(svgToDraw);
29049
29057
  try {
29050
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-Chx_7ffv.js");
29058
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-D4YSdx4j.js");
29051
29059
  try {
29052
29060
  await logTextMeasurementDiagnostic(svgToDraw);
29053
29061
  } catch {
@@ -29447,4 +29455,4 @@ export {
29447
29455
  buildTeaserBlurFlatKeys as y,
29448
29456
  collectFontDescriptorsFromConfig as z
29449
29457
  };
29450
- //# sourceMappingURL=index-mfdztOqY.js.map
29458
+ //# sourceMappingURL=index-BBkKxCQ_.js.map