@pixldocs/canvas-renderer 0.5.414 → 0.5.416

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.
@@ -15771,7 +15771,8 @@ const PageCanvas = forwardRef(
15771
15771
  finalScaleY = 1;
15772
15772
  const worldCx = decomposed.translateX ?? 0;
15773
15773
  const worldCy = decomposed.translateY ?? 0;
15774
- const worldAngle = (activeObj.angle ?? 0) + cropChildLocalAngle;
15774
+ const liveWorldAngle = Number.isFinite(decomposed.angle) ? decomposed.angle : (activeObj.angle ?? 0) + cropChildLocalAngle;
15775
+ const worldAngle = liveWorldAngle;
15775
15776
  absoluteLeft = worldCx - finalWidth / 2;
15776
15777
  absoluteTop = worldCy - finalHeight / 2;
15777
15778
  finalAbsoluteMatrix = fabric.util.composeMatrix({
@@ -15900,7 +15901,7 @@ const PageCanvas = forwardRef(
15900
15901
  finalScaleY = 1;
15901
15902
  const worldCx = decomposed.translateX ?? 0;
15902
15903
  const worldCy = decomposed.translateY ?? 0;
15903
- const worldAngleI = (activeObj.angle ?? 0) + imgChildLocalAngle;
15904
+ const worldAngleI = Number.isFinite(decomposed.angle) ? decomposed.angle : (activeObj.angle ?? 0) + imgChildLocalAngle;
15904
15905
  absoluteLeft = worldCx - finalWidth / 2;
15905
15906
  absoluteTop = worldCy - finalHeight / 2;
15906
15907
  finalAbsoluteMatrix = fabric.util.composeMatrix({
@@ -16250,14 +16251,17 @@ const PageCanvas = forwardRef(
16250
16251
  const isRotatedImg = Math.min(normAng, 360 - normAng) > 0.5;
16251
16252
  if (isRotatedImg && activeObj instanceof fabric.ActiveSelection) {
16252
16253
  try {
16253
- const cleanAngleI = childLocalAngleSrc;
16254
- const worldAngleI = (activeObj.angle ?? 0) + childLocalAngleSrc;
16254
+ const parentWorldAngle = activeObj.angle ?? 0;
16255
+ const cleanAngleI = Number.isFinite(decomposed.angle) ? decomposed.angle - parentWorldAngle : childLocalAngleSrc;
16255
16256
  const cleanW = Math.max(1, Number(elementUpdate.width ?? finalWidth));
16256
16257
  const cleanH = Math.max(1, Number(elementUpdate.height ?? finalHeight));
16257
16258
  const cx = decomposed.translateX ?? absoluteLeft + cleanW / 2;
16258
16259
  const cy = decomposed.translateY ?? absoluteTop + cleanH / 2;
16259
- const cleanAbsLeft = cx - cleanW / 2;
16260
- const cleanAbsTop = cy - cleanH / 2;
16260
+ const thetaI = fabric.util.degreesToRadians(cleanAngleI);
16261
+ const cosI = Math.cos(thetaI);
16262
+ const sinI = Math.sin(thetaI);
16263
+ const cleanAbsLeft = cx - (cosI * cleanW / 2 - sinI * cleanH / 2);
16264
+ const cleanAbsTop = cy - (sinI * cleanW / 2 + cosI * cleanH / 2);
16261
16265
  const cleanStorePos = absoluteToStorePosition(cleanAbsLeft, cleanAbsTop, objId, pageChildrenForSave);
16262
16266
  elementUpdate.left = cleanStorePos.left;
16263
16267
  elementUpdate.top = cleanStorePos.top;
@@ -16271,7 +16275,7 @@ const PageCanvas = forwardRef(
16271
16275
  elementUpdate.transformMatrix = fabric.util.composeMatrix({
16272
16276
  translateX: cx,
16273
16277
  translateY: cy,
16274
- angle: worldAngleI,
16278
+ angle: cleanAngleI,
16275
16279
  scaleX: 1,
16276
16280
  scaleY: 1,
16277
16281
  skewX: 0,
@@ -25517,9 +25521,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
25517
25521
  }
25518
25522
  return svgString;
25519
25523
  }
25520
- const resolvedPackageVersion = "0.5.414";
25524
+ const resolvedPackageVersion = "0.5.416";
25521
25525
  const PACKAGE_VERSION = resolvedPackageVersion;
25522
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.414";
25526
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.416";
25523
25527
  const roundParityValue = (value) => {
25524
25528
  if (typeof value !== "number") return value;
25525
25529
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -26333,7 +26337,7 @@ class PixldocsRenderer {
26333
26337
  await this.waitForCanvasScene(container, cloned, i);
26334
26338
  }
26335
26339
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
26336
- const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-DaYe9eLB.js");
26340
+ const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-BFThdYPo.js");
26337
26341
  const prepared = preparePagesForExport(
26338
26342
  cloned.pages,
26339
26343
  canvasWidth,
@@ -28653,7 +28657,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
28653
28657
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
28654
28658
  sanitizeSvgTreeForPdf(svgToDraw);
28655
28659
  try {
28656
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-DaYe9eLB.js");
28660
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-BFThdYPo.js");
28657
28661
  try {
28658
28662
  await logTextMeasurementDiagnostic(svgToDraw);
28659
28663
  } catch {
@@ -29053,4 +29057,4 @@ export {
29053
29057
  buildTeaserBlurFlatKeys as y,
29054
29058
  collectFontDescriptorsFromConfig as z
29055
29059
  };
29056
- //# sourceMappingURL=index-DMA8h19g.js.map
29060
+ //# sourceMappingURL=index-CZU1DIVy.js.map