@pixldocs/canvas-renderer 0.5.413 → 0.5.415

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.
@@ -14646,13 +14646,8 @@ const PageCanvas = react.forwardRef(
14646
14646
  const asRect0 = obj.getBoundingRect();
14647
14647
  let didReflowTextChild = false;
14648
14648
  for (const child of obj.getObjects()) {
14649
- const childLocalAngle = child.__asLiveOrigAngle != null ? child.__asLiveOrigAngle : child.angle ?? 0;
14650
- const isRotatedChild = Math.abs((childLocalAngle % 360 + 360) % 360) > 0.5 && Math.abs((childLocalAngle % 360 + 360) % 360 - 360) > 0.5;
14651
- if (isRotatedChild) {
14652
- if (child.__asLiveOrigAngle == null) {
14653
- child.__asLiveOrigAngle = child.angle ?? 0;
14654
- }
14655
- continue;
14649
+ if (child.__asLiveOrigAngle == null) {
14650
+ child.__asLiveOrigAngle = child.angle ?? 0;
14656
14651
  }
14657
14652
  if (child instanceof fabric__namespace.Group && (child.__cropGroup || ((_k = child._ct) == null ? void 0 : _k.isCropGroup))) {
14658
14653
  const ct = child.__cropData;
@@ -16274,13 +16269,15 @@ const PageCanvas = react.forwardRef(
16274
16269
  if (isRotatedImg && activeObj instanceof fabric__namespace.ActiveSelection) {
16275
16270
  try {
16276
16271
  const cleanAngleI = childLocalAngleSrc;
16277
- const worldAngleI = (activeObj.angle ?? 0) + childLocalAngleSrc;
16278
16272
  const cleanW = Math.max(1, Number(elementUpdate.width ?? finalWidth));
16279
16273
  const cleanH = Math.max(1, Number(elementUpdate.height ?? finalHeight));
16280
16274
  const cx = decomposed.translateX ?? absoluteLeft + cleanW / 2;
16281
16275
  const cy = decomposed.translateY ?? absoluteTop + cleanH / 2;
16282
- const cleanAbsLeft = cx - cleanW / 2;
16283
- const cleanAbsTop = cy - cleanH / 2;
16276
+ const thetaI = fabric__namespace.util.degreesToRadians(cleanAngleI);
16277
+ const cosI = Math.cos(thetaI);
16278
+ const sinI = Math.sin(thetaI);
16279
+ const cleanAbsLeft = cx - (cosI * cleanW / 2 - sinI * cleanH / 2);
16280
+ const cleanAbsTop = cy - (sinI * cleanW / 2 + cosI * cleanH / 2);
16284
16281
  const cleanStorePos = absoluteToStorePosition(cleanAbsLeft, cleanAbsTop, objId, pageChildrenForSave);
16285
16282
  elementUpdate.left = cleanStorePos.left;
16286
16283
  elementUpdate.top = cleanStorePos.top;
@@ -16294,7 +16291,7 @@ const PageCanvas = react.forwardRef(
16294
16291
  elementUpdate.transformMatrix = fabric__namespace.util.composeMatrix({
16295
16292
  translateX: cx,
16296
16293
  translateY: cy,
16297
- angle: worldAngleI,
16294
+ angle: cleanAngleI,
16298
16295
  scaleX: 1,
16299
16296
  scaleY: 1,
16300
16297
  skewX: 0,
@@ -25540,9 +25537,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
25540
25537
  }
25541
25538
  return svgString;
25542
25539
  }
25543
- const resolvedPackageVersion = "0.5.413";
25540
+ const resolvedPackageVersion = "0.5.415";
25544
25541
  const PACKAGE_VERSION = resolvedPackageVersion;
25545
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.413";
25542
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.415";
25546
25543
  const roundParityValue = (value) => {
25547
25544
  if (typeof value !== "number") return value;
25548
25545
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -26356,7 +26353,7 @@ class PixldocsRenderer {
26356
26353
  await this.waitForCanvasScene(container, cloned, i);
26357
26354
  }
26358
26355
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
26359
- const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-2r6G4ALY.cjs"));
26356
+ const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-DaaYbqll.cjs"));
26360
26357
  const prepared = preparePagesForExport(
26361
26358
  cloned.pages,
26362
26359
  canvasWidth,
@@ -28676,7 +28673,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
28676
28673
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
28677
28674
  sanitizeSvgTreeForPdf(svgToDraw);
28678
28675
  try {
28679
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-2r6G4ALY.cjs"));
28676
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-DaaYbqll.cjs"));
28680
28677
  try {
28681
28678
  await logTextMeasurementDiagnostic(svgToDraw);
28682
28679
  } catch {
@@ -29073,4 +29070,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
29073
29070
  exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
29074
29071
  exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
29075
29072
  exports.warmTemplateFromForm = warmTemplateFromForm;
29076
- //# sourceMappingURL=index-xSOFCztI.cjs.map
29073
+ //# sourceMappingURL=index-CjQENuN6.cjs.map