@pixldocs/canvas-renderer 0.5.418 → 0.5.420

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.
@@ -14372,7 +14372,7 @@ const PageCanvas = react.forwardRef(
14372
14372
  fabricCanvas.on("selection:cleared", () => {
14373
14373
  });
14374
14374
  fabricCanvas.on("object:scaling", (e) => {
14375
- var _a2, _b2, _c2, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
14375
+ var _a2, _b2, _c2, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
14376
14376
  if (!isActiveRef.current) return;
14377
14377
  const t = e.target;
14378
14378
  if (t) lastResizeScaleTargetRef.current = t;
@@ -14663,9 +14663,14 @@ const PageCanvas = react.forwardRef(
14663
14663
  let didReflowTextChild = false;
14664
14664
  for (const child of obj.getObjects()) {
14665
14665
  if (child.__asLiveOrigAngle == null) {
14666
- child.__asLiveOrigAngle = child.angle ?? 0;
14666
+ const childId = getObjectId(child);
14667
+ const sourceChild = childId ? elementsRef.current.find((el) => el.id === childId) : void 0;
14668
+ const storedWorldAngle = Number.isFinite(sourceChild == null ? void 0 : sourceChild.angle) ? sourceChild.angle ?? 0 : void 0;
14669
+ const logicalGroupId = obj.__pixldocsGroupSelection;
14670
+ const groupWorldAngle = logicalGroupId ? ((_k = groupSelectionTransformStartRef.current) == null ? void 0 : _k.groupId) === logicalGroupId ? groupSelectionTransformStartRef.current.groupAngle : obj.__pixldocsFrozenGroupAngle ?? (obj.angle ?? 0) : 0;
14671
+ child.__asLiveOrigAngle = storedWorldAngle !== void 0 ? storedWorldAngle - groupWorldAngle : child.angle ?? 0;
14667
14672
  }
14668
- if (child instanceof fabric__namespace.Group && (child.__cropGroup || ((_k = child._ct) == null ? void 0 : _k.isCropGroup))) {
14673
+ if (child instanceof fabric__namespace.Group && (child.__cropGroup || ((_l = child._ct) == null ? void 0 : _l.isCropGroup))) {
14669
14674
  const ct = child.__cropData;
14670
14675
  if (!ct) continue;
14671
14676
  if (child.__asLiveOrigAngle == null) {
@@ -14834,7 +14839,7 @@ const PageCanvas = react.forwardRef(
14834
14839
  child.dirty = true;
14835
14840
  didReflowTextChild = true;
14836
14841
  }
14837
- if (isXSide && ((_l = groupShiftReflowSnapshotRef.current) == null ? void 0 : _l.selection) === obj) {
14842
+ if (isXSide && ((_m = groupShiftReflowSnapshotRef.current) == null ? void 0 : _m.selection) === obj) {
14838
14843
  const snap = groupShiftReflowSnapshotRef.current;
14839
14844
  const anchorEntry = snap.children[0];
14840
14845
  const anchorTopLive = anchorEntry.obj.top ?? 0;
@@ -14995,7 +15000,7 @@ const PageCanvas = react.forwardRef(
14995
15000
  setGuides(gridGuidesForScale.length ? [...scaleGuides, ...gridGuidesForScale] : scaleGuides);
14996
15001
  if (drilledGroupIdRef.current) {
14997
15002
  try {
14998
- (_m = fabricCanvas.__updateDrilledGroupOutline) == null ? void 0 : _m.call(fabricCanvas);
15003
+ (_n = fabricCanvas.__updateDrilledGroupOutline) == null ? void 0 : _n.call(fabricCanvas);
14999
15004
  } catch {
15000
15005
  }
15001
15006
  }
@@ -16287,9 +16292,8 @@ const PageCanvas = react.forwardRef(
16287
16292
  const isRotatedImg = Math.min(normAng, 360 - normAng) > 0.5;
16288
16293
  if (isRotatedImg && activeObj instanceof fabric__namespace.ActiveSelection) {
16289
16294
  try {
16290
- const parentWorldAngle = activeObj.angle ?? 0;
16291
16295
  const liveWorldAngleI = Number.isFinite(obj.__asLiveWorldAngle) ? obj.__asLiveWorldAngle : (activeObj.angle ?? 0) + childLocalAngleSrc;
16292
- const cleanAngleI = Number.isFinite(liveWorldAngleI) ? liveWorldAngleI - parentWorldAngle : childLocalAngleSrc;
16296
+ const cleanAngleI = Number.isFinite(liveWorldAngleI) ? liveWorldAngleI : (activeObj.angle ?? 0) + childLocalAngleSrc;
16293
16297
  const cleanW = Math.max(1, Number(obj.__asLiveFinalW ?? elementUpdate.width ?? finalWidth));
16294
16298
  const cleanH = Math.max(1, Number(obj.__asLiveFinalH ?? elementUpdate.height ?? finalHeight));
16295
16299
  const cx = Number.isFinite(obj.__asLiveWorldCenterX) ? obj.__asLiveWorldCenterX : decomposed.translateX ?? absoluteLeft + cleanW / 2;
@@ -16297,8 +16301,8 @@ const PageCanvas = react.forwardRef(
16297
16301
  const thetaI = fabric__namespace.util.degreesToRadians(cleanAngleI);
16298
16302
  const cosI = Math.cos(thetaI);
16299
16303
  const sinI = Math.sin(thetaI);
16300
- const cleanAbsLeft = cx - (cosI * cleanW / 2 - sinI * cleanH / 2);
16301
- const cleanAbsTop = cy - (sinI * cleanW / 2 + cosI * cleanH / 2);
16304
+ const cleanAbsLeft = isCropGroupObj ? cx - cleanW / 2 : cx - (cosI * cleanW / 2 - sinI * cleanH / 2);
16305
+ const cleanAbsTop = isCropGroupObj ? cy - cleanH / 2 : cy - (sinI * cleanW / 2 + cosI * cleanH / 2);
16302
16306
  const cleanStorePos = absoluteToStorePosition(cleanAbsLeft, cleanAbsTop, objId, pageChildrenForSave);
16303
16307
  elementUpdate.left = cleanStorePos.left;
16304
16308
  elementUpdate.top = cleanStorePos.top;
@@ -25564,9 +25568,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
25564
25568
  }
25565
25569
  return svgString;
25566
25570
  }
25567
- const resolvedPackageVersion = "0.5.418";
25571
+ const resolvedPackageVersion = "0.5.420";
25568
25572
  const PACKAGE_VERSION = resolvedPackageVersion;
25569
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.418";
25573
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.420";
25570
25574
  const roundParityValue = (value) => {
25571
25575
  if (typeof value !== "number") return value;
25572
25576
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -26380,7 +26384,7 @@ class PixldocsRenderer {
26380
26384
  await this.waitForCanvasScene(container, cloned, i);
26381
26385
  }
26382
26386
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
26383
- const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-D0hfLxQU.cjs"));
26387
+ const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-Cq4TBhox.cjs"));
26384
26388
  const prepared = preparePagesForExport(
26385
26389
  cloned.pages,
26386
26390
  canvasWidth,
@@ -28700,7 +28704,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
28700
28704
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
28701
28705
  sanitizeSvgTreeForPdf(svgToDraw);
28702
28706
  try {
28703
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-D0hfLxQU.cjs"));
28707
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-Cq4TBhox.cjs"));
28704
28708
  try {
28705
28709
  await logTextMeasurementDiagnostic(svgToDraw);
28706
28710
  } catch {
@@ -29097,4 +29101,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
29097
29101
  exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
29098
29102
  exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
29099
29103
  exports.warmTemplateFromForm = warmTemplateFromForm;
29100
- //# sourceMappingURL=index-VBLDPtqv.cjs.map
29104
+ //# sourceMappingURL=index-yZYb0Y4m.cjs.map