@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.
@@ -14316,6 +14316,18 @@ const PageCanvas = react.forwardRef(
14316
14316
  const { updateNode: updateNodeStore, commitHistory: commitHistoryStore, getCurrentElements } = useEditorStore.getState();
14317
14317
  const newLeft = (groupToMove.left ?? 0) + deltaX;
14318
14318
  const newTop = (groupToMove.top ?? 0) + deltaY;
14319
+ const __dbg = !!(typeof window !== "undefined" && window.__pixldocsDebugGroupMove);
14320
+ if (__dbg) {
14321
+ console.log("[GRP-MOVE] commit", {
14322
+ groupId: groupToMove.id,
14323
+ groupAbs,
14324
+ movedGroup: { left: movedGroupLeft, top: movedGroupTop },
14325
+ delta: { x: deltaX, y: deltaY },
14326
+ newStored: { left: newLeft, top: newTop },
14327
+ activeSelectionAngle: isActiveSelection && activeObj ? activeObj.angle : null,
14328
+ hasGroupSelectionId: !!(isActiveSelection && activeObj instanceof fabric__namespace.ActiveSelection && activeObj.__pixldocsGroupSelection)
14329
+ });
14330
+ }
14319
14331
  updateNodeStore(groupToMove.id, { left: newLeft, top: newTop }, { recordHistory: false, skipLayoutRecalc: true });
14320
14332
  commitHistoryStore();
14321
14333
  pendingGroupDrillInRef.current = null;
@@ -14348,12 +14360,25 @@ const PageCanvas = react.forwardRef(
14348
14360
  if (!node) continue;
14349
14361
  const abs = getAbsoluteBounds(node, pageAfterMove, pageBoundsOptions);
14350
14362
  const bounds = getNodeBounds(node, pageAfterMove, pageBoundsOptions);
14363
+ const __prevLeft = obj.left;
14364
+ const __prevTop = obj.top;
14351
14365
  if (obj instanceof fabric__namespace.Group && obj.__cropGroup || obj instanceof fabric__namespace.FabricImage && (obj.originX === "center" || obj.originY === "center")) {
14352
14366
  obj.set({ left: abs.left + Math.max(1, bounds.width) / 2, top: abs.top + Math.max(1, bounds.height) / 2 });
14353
14367
  } else {
14354
14368
  obj.set({ left: abs.left, top: abs.top });
14355
14369
  }
14356
14370
  obj.setCoords();
14371
+ if (typeof window !== "undefined" && window.__pixldocsDebugGroupMove) {
14372
+ console.log("[GRP-MOVE] rebake-member", {
14373
+ id,
14374
+ nodeType: node.type,
14375
+ storeAbs: abs,
14376
+ bounds,
14377
+ origin: { x: obj.originX, y: obj.originY },
14378
+ prev: { left: __prevLeft, top: __prevTop },
14379
+ after: { left: obj.left, top: obj.top }
14380
+ });
14381
+ }
14357
14382
  }
14358
14383
  const bakedSelection = reselectionObjects.length > 1 ? new fabric__namespace.ActiveSelection(reselectionObjects, { canvas: fabricCanvas }) : activeObj;
14359
14384
  restoreGroupSelectionVisualState(bakedSelection, groupSelectionId);
@@ -15043,7 +15068,9 @@ const PageCanvas = react.forwardRef(
15043
15068
  applyLogicalGroupSelectionVisualState(newSel, activeSelectionSnapshot.groupSelectionId);
15044
15069
  }
15045
15070
  fc.setActiveObject(newSel);
15046
- newSel.setCoords();
15071
+ if (!(activeSelectionSnapshot.groupSelectionId && newSel.getObjects().every((obj) => !(obj instanceof fabric__namespace.Group)))) {
15072
+ newSel.setCoords();
15073
+ }
15047
15074
  fc.requestRenderAll();
15048
15075
  } finally {
15049
15076
  isSyncingSelectionToFabricRef.current = false;
@@ -15595,6 +15622,27 @@ const PageCanvas = react.forwardRef(
15595
15622
  } else {
15596
15623
  const skipPositionBecauseSelection = preserveSelectionMemberPosition || !forceStorePositionSync && isSelected && (deltaX > 0.1 || deltaY > 0.1) && (wasJustModified || isBeingTransformed);
15597
15624
  const anyChange = positionChanged || otherPropsChanged || forceApplyFromPanel;
15625
+ if (typeof window !== "undefined" && window.__pixldocsDebugGroupMove && (forceStorePositionSync || preserveSelectionMemberPosition || (deltaX > 0.1 || deltaY > 0.1))) {
15626
+ console.log("[GRP-MOVE] doSync-member", {
15627
+ id: element.id,
15628
+ type: element.type,
15629
+ fabric: { left: fabricLeft, top: fabricTop },
15630
+ store: { left: storeLeft, top: storeTop },
15631
+ delta: { x: deltaX, y: deltaY },
15632
+ flags: {
15633
+ forceStorePositionSync,
15634
+ preserveSelectionMemberPosition,
15635
+ isSelected,
15636
+ wasJustModified,
15637
+ isBeingTransformed,
15638
+ positionChanged,
15639
+ otherPropsChanged,
15640
+ skipPositionBecauseSelection,
15641
+ anyChange,
15642
+ syncTriggeredByPanel: syncTriggeredByPanelRef.current
15643
+ }
15644
+ });
15645
+ }
15598
15646
  if (!visibilityUpdateInProgressRef.current) {
15599
15647
  if (anyChange && !skipPositionBecauseSelection) {
15600
15648
  updateFabricObject(existingObj, element, wasJustModified && !forceStorePositionSync);
@@ -15824,7 +15872,9 @@ const PageCanvas = react.forwardRef(
15824
15872
  applyLogicalGroupSelectionVisualState(newSel, activeSelectionSnapshot.groupSelectionId);
15825
15873
  }
15826
15874
  fc.setActiveObject(newSel);
15827
- newSel.setCoords();
15875
+ if (!(activeSelectionSnapshot.groupSelectionId && newSel.getObjects().every((obj) => !(obj instanceof fabric__namespace.Group)))) {
15876
+ newSel.setCoords();
15877
+ }
15828
15878
  fc.requestRenderAll();
15829
15879
  } finally {
15830
15880
  isSyncingSelectionToFabricRef.current = false;
@@ -23775,9 +23825,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
23775
23825
  }
23776
23826
  return svgString;
23777
23827
  }
23778
- const resolvedPackageVersion = "0.5.273";
23828
+ const resolvedPackageVersion = "0.5.275";
23779
23829
  const PACKAGE_VERSION = resolvedPackageVersion;
23780
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.273";
23830
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.275";
23781
23831
  const roundParityValue = (value) => {
23782
23832
  if (typeof value !== "number") return value;
23783
23833
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -24591,7 +24641,7 @@ class PixldocsRenderer {
24591
24641
  await this.waitForCanvasScene(container, cloned, i);
24592
24642
  }
24593
24643
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
24594
- const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-CATK019f.cjs"));
24644
+ const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-2pqCA90u.cjs"));
24595
24645
  const prepared = preparePagesForExport(
24596
24646
  cloned.pages,
24597
24647
  canvasWidth,
@@ -26911,7 +26961,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
26911
26961
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
26912
26962
  sanitizeSvgTreeForPdf(svgToDraw);
26913
26963
  try {
26914
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-CATK019f.cjs"));
26964
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-2pqCA90u.cjs"));
26915
26965
  try {
26916
26966
  await logTextMeasurementDiagnostic(svgToDraw);
26917
26967
  } catch {
@@ -27308,4 +27358,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
27308
27358
  exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
27309
27359
  exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
27310
27360
  exports.warmTemplateFromForm = warmTemplateFromForm;
27311
- //# sourceMappingURL=index-CeO7JhXA.cjs.map
27361
+ //# sourceMappingURL=index-CRmR2BYr.cjs.map