@pixldocs/canvas-renderer 0.5.417 → 0.5.419

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.
@@ -14598,7 +14598,8 @@ const PageCanvas = forwardRef(
14598
14598
  const childMatrix = childObj.calcOwnMatrix();
14599
14599
  const worldMatrix = fabric.util.multiplyTransformMatrices(selectionMatrix, childMatrix);
14600
14600
  const live = fabric.util.qrDecompose(worldMatrix);
14601
- childObj.__asLiveWorldAngle = live.angle;
14601
+ const childOrigLocalAngle = Number.isFinite(childObj.__asLiveOrigAngle) ? childObj.__asLiveOrigAngle : childObj.angle ?? 0;
14602
+ childObj.__asLiveWorldAngle = (obj.angle ?? 0) + childOrigLocalAngle;
14602
14603
  childObj.__asLiveWorldCenterX = live.translateX;
14603
14604
  childObj.__asLiveWorldCenterY = live.translateY;
14604
14605
  childObj.__asLiveParentWorldAngle = obj.angle ?? 0;
@@ -14644,7 +14645,9 @@ const PageCanvas = forwardRef(
14644
14645
  let didReflowTextChild = false;
14645
14646
  for (const child of obj.getObjects()) {
14646
14647
  if (child.__asLiveOrigAngle == null) {
14647
- child.__asLiveOrigAngle = child.angle ?? 0;
14648
+ const childId = getObjectId(child);
14649
+ const sourceChild = childId ? elementsRef.current.find((el) => el.id === childId) : void 0;
14650
+ child.__asLiveOrigAngle = Number.isFinite(sourceChild == null ? void 0 : sourceChild.angle) ? sourceChild.angle ?? 0 : child.angle ?? 0;
14648
14651
  }
14649
14652
  if (child instanceof fabric.Group && (child.__cropGroup || ((_k = child._ct) == null ? void 0 : _k.isCropGroup))) {
14650
14653
  const ct = child.__cropData;
@@ -16268,9 +16271,8 @@ const PageCanvas = forwardRef(
16268
16271
  const isRotatedImg = Math.min(normAng, 360 - normAng) > 0.5;
16269
16272
  if (isRotatedImg && activeObj instanceof fabric.ActiveSelection) {
16270
16273
  try {
16271
- const parentWorldAngle = activeObj.angle ?? 0;
16272
16274
  const liveWorldAngleI = Number.isFinite(obj.__asLiveWorldAngle) ? obj.__asLiveWorldAngle : (activeObj.angle ?? 0) + childLocalAngleSrc;
16273
- const cleanAngleI = Number.isFinite(liveWorldAngleI) ? liveWorldAngleI - parentWorldAngle : childLocalAngleSrc;
16275
+ const cleanAngleI = Number.isFinite(liveWorldAngleI) ? liveWorldAngleI : (activeObj.angle ?? 0) + childLocalAngleSrc;
16274
16276
  const cleanW = Math.max(1, Number(obj.__asLiveFinalW ?? elementUpdate.width ?? finalWidth));
16275
16277
  const cleanH = Math.max(1, Number(obj.__asLiveFinalH ?? elementUpdate.height ?? finalHeight));
16276
16278
  const cx = Number.isFinite(obj.__asLiveWorldCenterX) ? obj.__asLiveWorldCenterX : decomposed.translateX ?? absoluteLeft + cleanW / 2;
@@ -16278,8 +16280,8 @@ const PageCanvas = forwardRef(
16278
16280
  const thetaI = fabric.util.degreesToRadians(cleanAngleI);
16279
16281
  const cosI = Math.cos(thetaI);
16280
16282
  const sinI = Math.sin(thetaI);
16281
- const cleanAbsLeft = cx - (cosI * cleanW / 2 - sinI * cleanH / 2);
16282
- const cleanAbsTop = cy - (sinI * cleanW / 2 + cosI * cleanH / 2);
16283
+ const cleanAbsLeft = isCropGroupObj ? cx - cleanW / 2 : cx - (cosI * cleanW / 2 - sinI * cleanH / 2);
16284
+ const cleanAbsTop = isCropGroupObj ? cy - cleanH / 2 : cy - (sinI * cleanW / 2 + cosI * cleanH / 2);
16283
16285
  const cleanStorePos = absoluteToStorePosition(cleanAbsLeft, cleanAbsTop, objId, pageChildrenForSave);
16284
16286
  elementUpdate.left = cleanStorePos.left;
16285
16287
  elementUpdate.top = cleanStorePos.top;
@@ -25545,9 +25547,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
25545
25547
  }
25546
25548
  return svgString;
25547
25549
  }
25548
- const resolvedPackageVersion = "0.5.417";
25550
+ const resolvedPackageVersion = "0.5.419";
25549
25551
  const PACKAGE_VERSION = resolvedPackageVersion;
25550
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.417";
25552
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.419";
25551
25553
  const roundParityValue = (value) => {
25552
25554
  if (typeof value !== "number") return value;
25553
25555
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -26361,7 +26363,7 @@ class PixldocsRenderer {
26361
26363
  await this.waitForCanvasScene(container, cloned, i);
26362
26364
  }
26363
26365
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
26364
- const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-DU4hhl6N.js");
26366
+ const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-BVOocc4a.js");
26365
26367
  const prepared = preparePagesForExport(
26366
26368
  cloned.pages,
26367
26369
  canvasWidth,
@@ -28681,7 +28683,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
28681
28683
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
28682
28684
  sanitizeSvgTreeForPdf(svgToDraw);
28683
28685
  try {
28684
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-DU4hhl6N.js");
28686
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-BVOocc4a.js");
28685
28687
  try {
28686
28688
  await logTextMeasurementDiagnostic(svgToDraw);
28687
28689
  } catch {
@@ -29081,4 +29083,4 @@ export {
29081
29083
  buildTeaserBlurFlatKeys as y,
29082
29084
  collectFontDescriptorsFromConfig as z
29083
29085
  };
29084
- //# sourceMappingURL=index-BcP1ewWF.js.map
29086
+ //# sourceMappingURL=index-dbWkHXNX.js.map