@pixldocs/canvas-renderer 0.5.273 → 0.5.275

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.
@@ -14298,6 +14298,18 @@ const PageCanvas = forwardRef(
14298
14298
  const { updateNode: updateNodeStore, commitHistory: commitHistoryStore, getCurrentElements } = useEditorStore.getState();
14299
14299
  const newLeft = (groupToMove.left ?? 0) + deltaX;
14300
14300
  const newTop = (groupToMove.top ?? 0) + deltaY;
14301
+ const __dbg = !!(typeof window !== "undefined" && window.__pixldocsDebugGroupMove);
14302
+ if (__dbg) {
14303
+ console.log("[GRP-MOVE] commit", {
14304
+ groupId: groupToMove.id,
14305
+ groupAbs,
14306
+ movedGroup: { left: movedGroupLeft, top: movedGroupTop },
14307
+ delta: { x: deltaX, y: deltaY },
14308
+ newStored: { left: newLeft, top: newTop },
14309
+ activeSelectionAngle: isActiveSelection && activeObj ? activeObj.angle : null,
14310
+ hasGroupSelectionId: !!(isActiveSelection && activeObj instanceof fabric.ActiveSelection && activeObj.__pixldocsGroupSelection)
14311
+ });
14312
+ }
14301
14313
  updateNodeStore(groupToMove.id, { left: newLeft, top: newTop }, { recordHistory: false, skipLayoutRecalc: true });
14302
14314
  commitHistoryStore();
14303
14315
  pendingGroupDrillInRef.current = null;
@@ -14330,12 +14342,25 @@ const PageCanvas = forwardRef(
14330
14342
  if (!node) continue;
14331
14343
  const abs = getAbsoluteBounds(node, pageAfterMove, pageBoundsOptions);
14332
14344
  const bounds = getNodeBounds(node, pageAfterMove, pageBoundsOptions);
14345
+ const __prevLeft = obj.left;
14346
+ const __prevTop = obj.top;
14333
14347
  if (obj instanceof fabric.Group && obj.__cropGroup || obj instanceof fabric.FabricImage && (obj.originX === "center" || obj.originY === "center")) {
14334
14348
  obj.set({ left: abs.left + Math.max(1, bounds.width) / 2, top: abs.top + Math.max(1, bounds.height) / 2 });
14335
14349
  } else {
14336
14350
  obj.set({ left: abs.left, top: abs.top });
14337
14351
  }
14338
14352
  obj.setCoords();
14353
+ if (typeof window !== "undefined" && window.__pixldocsDebugGroupMove) {
14354
+ console.log("[GRP-MOVE] rebake-member", {
14355
+ id,
14356
+ nodeType: node.type,
14357
+ storeAbs: abs,
14358
+ bounds,
14359
+ origin: { x: obj.originX, y: obj.originY },
14360
+ prev: { left: __prevLeft, top: __prevTop },
14361
+ after: { left: obj.left, top: obj.top }
14362
+ });
14363
+ }
14339
14364
  }
14340
14365
  const bakedSelection = reselectionObjects.length > 1 ? new fabric.ActiveSelection(reselectionObjects, { canvas: fabricCanvas }) : activeObj;
14341
14366
  restoreGroupSelectionVisualState(bakedSelection, groupSelectionId);
@@ -15025,7 +15050,9 @@ const PageCanvas = forwardRef(
15025
15050
  applyLogicalGroupSelectionVisualState(newSel, activeSelectionSnapshot.groupSelectionId);
15026
15051
  }
15027
15052
  fc.setActiveObject(newSel);
15028
- newSel.setCoords();
15053
+ if (!(activeSelectionSnapshot.groupSelectionId && newSel.getObjects().every((obj) => !(obj instanceof fabric.Group)))) {
15054
+ newSel.setCoords();
15055
+ }
15029
15056
  fc.requestRenderAll();
15030
15057
  } finally {
15031
15058
  isSyncingSelectionToFabricRef.current = false;
@@ -15577,6 +15604,27 @@ const PageCanvas = forwardRef(
15577
15604
  } else {
15578
15605
  const skipPositionBecauseSelection = preserveSelectionMemberPosition || !forceStorePositionSync && isSelected && (deltaX > 0.1 || deltaY > 0.1) && (wasJustModified || isBeingTransformed);
15579
15606
  const anyChange = positionChanged || otherPropsChanged || forceApplyFromPanel;
15607
+ if (typeof window !== "undefined" && window.__pixldocsDebugGroupMove && (forceStorePositionSync || preserveSelectionMemberPosition || (deltaX > 0.1 || deltaY > 0.1))) {
15608
+ console.log("[GRP-MOVE] doSync-member", {
15609
+ id: element.id,
15610
+ type: element.type,
15611
+ fabric: { left: fabricLeft, top: fabricTop },
15612
+ store: { left: storeLeft, top: storeTop },
15613
+ delta: { x: deltaX, y: deltaY },
15614
+ flags: {
15615
+ forceStorePositionSync,
15616
+ preserveSelectionMemberPosition,
15617
+ isSelected,
15618
+ wasJustModified,
15619
+ isBeingTransformed,
15620
+ positionChanged,
15621
+ otherPropsChanged,
15622
+ skipPositionBecauseSelection,
15623
+ anyChange,
15624
+ syncTriggeredByPanel: syncTriggeredByPanelRef.current
15625
+ }
15626
+ });
15627
+ }
15580
15628
  if (!visibilityUpdateInProgressRef.current) {
15581
15629
  if (anyChange && !skipPositionBecauseSelection) {
15582
15630
  updateFabricObject(existingObj, element, wasJustModified && !forceStorePositionSync);
@@ -15806,7 +15854,9 @@ const PageCanvas = forwardRef(
15806
15854
  applyLogicalGroupSelectionVisualState(newSel, activeSelectionSnapshot.groupSelectionId);
15807
15855
  }
15808
15856
  fc.setActiveObject(newSel);
15809
- newSel.setCoords();
15857
+ if (!(activeSelectionSnapshot.groupSelectionId && newSel.getObjects().every((obj) => !(obj instanceof fabric.Group)))) {
15858
+ newSel.setCoords();
15859
+ }
15810
15860
  fc.requestRenderAll();
15811
15861
  } finally {
15812
15862
  isSyncingSelectionToFabricRef.current = false;
@@ -23757,9 +23807,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
23757
23807
  }
23758
23808
  return svgString;
23759
23809
  }
23760
- const resolvedPackageVersion = "0.5.273";
23810
+ const resolvedPackageVersion = "0.5.275";
23761
23811
  const PACKAGE_VERSION = resolvedPackageVersion;
23762
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.273";
23812
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.275";
23763
23813
  const roundParityValue = (value) => {
23764
23814
  if (typeof value !== "number") return value;
23765
23815
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -24573,7 +24623,7 @@ class PixldocsRenderer {
24573
24623
  await this.waitForCanvasScene(container, cloned, i);
24574
24624
  }
24575
24625
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
24576
- const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-D4O4QFHJ.js");
24626
+ const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-CZa1TypE.js");
24577
24627
  const prepared = preparePagesForExport(
24578
24628
  cloned.pages,
24579
24629
  canvasWidth,
@@ -26893,7 +26943,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
26893
26943
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
26894
26944
  sanitizeSvgTreeForPdf(svgToDraw);
26895
26945
  try {
26896
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-D4O4QFHJ.js");
26946
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-CZa1TypE.js");
26897
26947
  try {
26898
26948
  await logTextMeasurementDiagnostic(svgToDraw);
26899
26949
  } catch {
@@ -27293,4 +27343,4 @@ export {
27293
27343
  buildTeaserBlurFlatKeys as y,
27294
27344
  collectFontDescriptorsFromConfig as z
27295
27345
  };
27296
- //# sourceMappingURL=index-DCqQEnix.js.map
27346
+ //# sourceMappingURL=index-Cs7F2355.js.map