@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.
@@ -15789,7 +15789,8 @@ const PageCanvas = react.forwardRef(
15789
15789
  finalScaleY = 1;
15790
15790
  const worldCx = decomposed.translateX ?? 0;
15791
15791
  const worldCy = decomposed.translateY ?? 0;
15792
- const worldAngle = (activeObj.angle ?? 0) + cropChildLocalAngle;
15792
+ const liveWorldAngle = Number.isFinite(decomposed.angle) ? decomposed.angle : (activeObj.angle ?? 0) + cropChildLocalAngle;
15793
+ const worldAngle = liveWorldAngle;
15793
15794
  absoluteLeft = worldCx - finalWidth / 2;
15794
15795
  absoluteTop = worldCy - finalHeight / 2;
15795
15796
  finalAbsoluteMatrix = fabric__namespace.util.composeMatrix({
@@ -15918,7 +15919,7 @@ const PageCanvas = react.forwardRef(
15918
15919
  finalScaleY = 1;
15919
15920
  const worldCx = decomposed.translateX ?? 0;
15920
15921
  const worldCy = decomposed.translateY ?? 0;
15921
- const worldAngleI = (activeObj.angle ?? 0) + imgChildLocalAngle;
15922
+ const worldAngleI = Number.isFinite(decomposed.angle) ? decomposed.angle : (activeObj.angle ?? 0) + imgChildLocalAngle;
15922
15923
  absoluteLeft = worldCx - finalWidth / 2;
15923
15924
  absoluteTop = worldCy - finalHeight / 2;
15924
15925
  finalAbsoluteMatrix = fabric__namespace.util.composeMatrix({
@@ -16268,14 +16269,17 @@ const PageCanvas = react.forwardRef(
16268
16269
  const isRotatedImg = Math.min(normAng, 360 - normAng) > 0.5;
16269
16270
  if (isRotatedImg && activeObj instanceof fabric__namespace.ActiveSelection) {
16270
16271
  try {
16271
- const cleanAngleI = childLocalAngleSrc;
16272
- const worldAngleI = (activeObj.angle ?? 0) + childLocalAngleSrc;
16272
+ const parentWorldAngle = activeObj.angle ?? 0;
16273
+ const cleanAngleI = Number.isFinite(decomposed.angle) ? decomposed.angle - parentWorldAngle : childLocalAngleSrc;
16273
16274
  const cleanW = Math.max(1, Number(elementUpdate.width ?? finalWidth));
16274
16275
  const cleanH = Math.max(1, Number(elementUpdate.height ?? finalHeight));
16275
16276
  const cx = decomposed.translateX ?? absoluteLeft + cleanW / 2;
16276
16277
  const cy = decomposed.translateY ?? absoluteTop + cleanH / 2;
16277
- const cleanAbsLeft = cx - cleanW / 2;
16278
- const cleanAbsTop = cy - cleanH / 2;
16278
+ const thetaI = fabric__namespace.util.degreesToRadians(cleanAngleI);
16279
+ const cosI = Math.cos(thetaI);
16280
+ 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);
16279
16283
  const cleanStorePos = absoluteToStorePosition(cleanAbsLeft, cleanAbsTop, objId, pageChildrenForSave);
16280
16284
  elementUpdate.left = cleanStorePos.left;
16281
16285
  elementUpdate.top = cleanStorePos.top;
@@ -16289,7 +16293,7 @@ const PageCanvas = react.forwardRef(
16289
16293
  elementUpdate.transformMatrix = fabric__namespace.util.composeMatrix({
16290
16294
  translateX: cx,
16291
16295
  translateY: cy,
16292
- angle: worldAngleI,
16296
+ angle: cleanAngleI,
16293
16297
  scaleX: 1,
16294
16298
  scaleY: 1,
16295
16299
  skewX: 0,
@@ -25535,9 +25539,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
25535
25539
  }
25536
25540
  return svgString;
25537
25541
  }
25538
- const resolvedPackageVersion = "0.5.414";
25542
+ const resolvedPackageVersion = "0.5.416";
25539
25543
  const PACKAGE_VERSION = resolvedPackageVersion;
25540
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.414";
25544
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.416";
25541
25545
  const roundParityValue = (value) => {
25542
25546
  if (typeof value !== "number") return value;
25543
25547
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -26351,7 +26355,7 @@ class PixldocsRenderer {
26351
26355
  await this.waitForCanvasScene(container, cloned, i);
26352
26356
  }
26353
26357
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
26354
- const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-f5bQ2qJF.cjs"));
26358
+ const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-D6fEgUkM.cjs"));
26355
26359
  const prepared = preparePagesForExport(
26356
26360
  cloned.pages,
26357
26361
  canvasWidth,
@@ -28671,7 +28675,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
28671
28675
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
28672
28676
  sanitizeSvgTreeForPdf(svgToDraw);
28673
28677
  try {
28674
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-f5bQ2qJF.cjs"));
28678
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-D6fEgUkM.cjs"));
28675
28679
  try {
28676
28680
  await logTextMeasurementDiagnostic(svgToDraw);
28677
28681
  } catch {
@@ -29068,4 +29072,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
29068
29072
  exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
29069
29073
  exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
29070
29074
  exports.warmTemplateFromForm = warmTemplateFromForm;
29071
- //# sourceMappingURL=index-CzyHWKIb.cjs.map
29075
+ //# sourceMappingURL=index-BcxRNI0T.cjs.map