@pixldocs/canvas-renderer 0.5.420 → 0.5.421

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.
@@ -15912,7 +15912,16 @@ const PageCanvas = forwardRef(
15912
15912
  scaleX: 1,
15913
15913
  scaleY: 1,
15914
15914
  skewX: 0,
15915
- skewY: 0
15915
+ skewY: 0,
15916
+ // CRITICAL: restore the child's ORIGINAL local angle (pre-live-preview).
15917
+ // The live preview path mutates obj.angle via qrDecompose(S^-1·R(θ))
15918
+ // to cancel AS shear visually. If we leave that mutated angle on the
15919
+ // object, fabric's AS-discard step bakes (AS.angle + mutatedAngle)
15920
+ // into the standalone image — so the next individual rotation starts
15921
+ // from a wrong base and visibly "snaps back" to the pre-resize angle.
15922
+ // Restoring the original local angle here makes AS-discard bake the
15923
+ // correct world angle (AS.angle + imgChildLocalAngle === worldAngleI).
15924
+ angle: imgChildLocalAngle
15916
15925
  });
15917
15926
  obj.dirty = true;
15918
15927
  obj.setCoords();
@@ -25550,9 +25559,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
25550
25559
  }
25551
25560
  return svgString;
25552
25561
  }
25553
- const resolvedPackageVersion = "0.5.420";
25562
+ const resolvedPackageVersion = "0.5.421";
25554
25563
  const PACKAGE_VERSION = resolvedPackageVersion;
25555
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.420";
25564
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.421";
25556
25565
  const roundParityValue = (value) => {
25557
25566
  if (typeof value !== "number") return value;
25558
25567
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -26366,7 +26375,7 @@ class PixldocsRenderer {
26366
26375
  await this.waitForCanvasScene(container, cloned, i);
26367
26376
  }
26368
26377
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
26369
- const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-B-fqxnfz.js");
26378
+ const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-BehYdYkb.js");
26370
26379
  const prepared = preparePagesForExport(
26371
26380
  cloned.pages,
26372
26381
  canvasWidth,
@@ -28686,7 +28695,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
28686
28695
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
28687
28696
  sanitizeSvgTreeForPdf(svgToDraw);
28688
28697
  try {
28689
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-B-fqxnfz.js");
28698
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-BehYdYkb.js");
28690
28699
  try {
28691
28700
  await logTextMeasurementDiagnostic(svgToDraw);
28692
28701
  } catch {
@@ -29086,4 +29095,4 @@ export {
29086
29095
  buildTeaserBlurFlatKeys as y,
29087
29096
  collectFontDescriptorsFromConfig as z
29088
29097
  };
29089
- //# sourceMappingURL=index-Bk-8sAnE.js.map
29098
+ //# sourceMappingURL=index-DTK00FP2.js.map