@pixldocs/canvas-renderer 0.5.449 → 0.5.450

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.
@@ -11664,10 +11664,16 @@ const applyTransformPreservingFlip = (obj, matrix) => {
11664
11664
  }
11665
11665
  obj.set({ scaleX: sx, scaleY: sy, flipX, flipY });
11666
11666
  };
11667
- const restorePersistedFlipState = (obj, flipX, flipY) => {
11667
+ const restorePersistedFlipState = (obj, flipX, flipY, angle) => {
11668
11668
  const sx = Math.abs(Number(obj.scaleX ?? 1)) || 1;
11669
11669
  const sy = Math.abs(Number(obj.scaleY ?? 1)) || 1;
11670
- obj.set({ scaleX: sx, scaleY: sy, flipX, flipY });
11670
+ obj.set({
11671
+ scaleX: sx,
11672
+ scaleY: sy,
11673
+ flipX,
11674
+ flipY,
11675
+ ...Number.isFinite(angle) ? { angle } : {}
11676
+ });
11671
11677
  obj.setCoords();
11672
11678
  obj.dirty = true;
11673
11679
  };
@@ -16500,9 +16506,6 @@ const PageCanvas = forwardRef(
16500
16506
  );
16501
16507
  const cleanTransformMatrix = toggleLogicalFlipInMatrix(normalizedFinalAbsoluteMatrix, persistedFlipX, persistedFlipY);
16502
16508
  const persistedDecomposed = fabric.util.qrDecompose(cleanTransformMatrix);
16503
- if (isActiveSelection && (obj instanceof fabric.FabricImage || obj instanceof fabric.Group && obj.__cropGroup)) {
16504
- activeSelectionFlipRestores.push({ obj, flipX: persistedFlipX, flipY: persistedFlipY });
16505
- }
16506
16509
  const elementUpdate = {
16507
16510
  left: storePos.left,
16508
16511
  top: storePos.top,
@@ -16631,6 +16634,9 @@ const PageCanvas = forwardRef(
16631
16634
  objectBeforeStoreWrite: summarizeFabricObjectForResizeDebug(obj)
16632
16635
  });
16633
16636
  }
16637
+ if (isActiveSelection && (obj instanceof fabric.FabricImage || obj instanceof fabric.Group && obj.__cropGroup)) {
16638
+ activeSelectionFlipRestores.push({ obj, flipX: persistedFlipX, flipY: persistedFlipY, angle: elementUpdate.angle });
16639
+ }
16634
16640
  if (isActiveSelection) {
16635
16641
  logRotGroupImageDrift("store-update-child", {
16636
16642
  time: Math.round(performance.now()),
@@ -16727,14 +16733,14 @@ const PageCanvas = forwardRef(
16727
16733
  skipActiveSelectionBakeOnClearRef.current = true;
16728
16734
  try {
16729
16735
  for (const restore of activeSelectionFlipRestores) {
16730
- restorePersistedFlipState(restore.obj, restore.flipX, restore.flipY);
16736
+ restorePersistedFlipState(restore.obj, restore.flipX, restore.flipY, restore.angle);
16731
16737
  }
16732
16738
  fabricCanvas.discardActiveObject();
16733
16739
  } finally {
16734
16740
  skipActiveSelectionBakeOnClearRef.current = false;
16735
16741
  }
16736
16742
  for (const restore of activeSelectionFlipRestores) {
16737
- restorePersistedFlipState(restore.obj, restore.flipX, restore.flipY);
16743
+ restorePersistedFlipState(restore.obj, restore.flipX, restore.flipY, restore.angle);
16738
16744
  }
16739
16745
  for (const bake of pendingCropGroupFrameBakes) {
16740
16746
  const ct = bake.obj.__cropData;
@@ -25922,9 +25928,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
25922
25928
  }
25923
25929
  return svgString;
25924
25930
  }
25925
- const resolvedPackageVersion = "0.5.449";
25931
+ const resolvedPackageVersion = "0.5.450";
25926
25932
  const PACKAGE_VERSION = resolvedPackageVersion;
25927
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.449";
25933
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.450";
25928
25934
  const roundParityValue = (value) => {
25929
25935
  if (typeof value !== "number") return value;
25930
25936
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -26738,7 +26744,7 @@ class PixldocsRenderer {
26738
26744
  await this.waitForCanvasScene(container, cloned, i);
26739
26745
  }
26740
26746
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
26741
- const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-BeSrh7Sq.js");
26747
+ const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-Ds3M_wlL.js");
26742
26748
  const prepared = preparePagesForExport(
26743
26749
  cloned.pages,
26744
26750
  canvasWidth,
@@ -29058,7 +29064,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
29058
29064
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
29059
29065
  sanitizeSvgTreeForPdf(svgToDraw);
29060
29066
  try {
29061
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-BeSrh7Sq.js");
29067
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-Ds3M_wlL.js");
29062
29068
  try {
29063
29069
  await logTextMeasurementDiagnostic(svgToDraw);
29064
29070
  } catch {
@@ -29458,4 +29464,4 @@ export {
29458
29464
  buildTeaserBlurFlatKeys as y,
29459
29465
  collectFontDescriptorsFromConfig as z
29460
29466
  };
29461
- //# sourceMappingURL=index-CyBVRtoh.js.map
29467
+ //# sourceMappingURL=index-BIyCaEvT.js.map