@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.
@@ -15930,7 +15930,16 @@ const PageCanvas = react.forwardRef(
15930
15930
  scaleX: 1,
15931
15931
  scaleY: 1,
15932
15932
  skewX: 0,
15933
- skewY: 0
15933
+ skewY: 0,
15934
+ // CRITICAL: restore the child's ORIGINAL local angle (pre-live-preview).
15935
+ // The live preview path mutates obj.angle via qrDecompose(S^-1·R(θ))
15936
+ // to cancel AS shear visually. If we leave that mutated angle on the
15937
+ // object, fabric's AS-discard step bakes (AS.angle + mutatedAngle)
15938
+ // into the standalone image — so the next individual rotation starts
15939
+ // from a wrong base and visibly "snaps back" to the pre-resize angle.
15940
+ // Restoring the original local angle here makes AS-discard bake the
15941
+ // correct world angle (AS.angle + imgChildLocalAngle === worldAngleI).
15942
+ angle: imgChildLocalAngle
15934
15943
  });
15935
15944
  obj.dirty = true;
15936
15945
  obj.setCoords();
@@ -25568,9 +25577,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
25568
25577
  }
25569
25578
  return svgString;
25570
25579
  }
25571
- const resolvedPackageVersion = "0.5.420";
25580
+ const resolvedPackageVersion = "0.5.421";
25572
25581
  const PACKAGE_VERSION = resolvedPackageVersion;
25573
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.420";
25582
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.421";
25574
25583
  const roundParityValue = (value) => {
25575
25584
  if (typeof value !== "number") return value;
25576
25585
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -26384,7 +26393,7 @@ class PixldocsRenderer {
26384
26393
  await this.waitForCanvasScene(container, cloned, i);
26385
26394
  }
26386
26395
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
26387
- const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-Cq4TBhox.cjs"));
26396
+ const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-CVTsNdX0.cjs"));
26388
26397
  const prepared = preparePagesForExport(
26389
26398
  cloned.pages,
26390
26399
  canvasWidth,
@@ -28704,7 +28713,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
28704
28713
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
28705
28714
  sanitizeSvgTreeForPdf(svgToDraw);
28706
28715
  try {
28707
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-Cq4TBhox.cjs"));
28716
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-CVTsNdX0.cjs"));
28708
28717
  try {
28709
28718
  await logTextMeasurementDiagnostic(svgToDraw);
28710
28719
  } catch {
@@ -29101,4 +29110,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
29101
29110
  exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
29102
29111
  exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
29103
29112
  exports.warmTemplateFromForm = warmTemplateFromForm;
29104
- //# sourceMappingURL=index-yZYb0Y4m.cjs.map
29113
+ //# sourceMappingURL=index-CHFRo3xN.cjs.map