@pixldocs/canvas-renderer 0.5.319 → 0.5.321
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.
- package/dist/{index-D75MmxRi.js → index-CHc4fbe1.js} +26 -36
- package/dist/index-CHc4fbe1.js.map +1 -0
- package/dist/{index-D0nU_guL.cjs → index-Dwa76-Km.cjs} +26 -36
- package/dist/index-Dwa76-Km.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{vectorPdfExport-DPghmX4S.cjs → vectorPdfExport-B-On3i95.cjs} +4 -4
- package/dist/{vectorPdfExport-DPghmX4S.cjs.map → vectorPdfExport-B-On3i95.cjs.map} +1 -1
- package/dist/{vectorPdfExport-9kP7srXG.js → vectorPdfExport-B7vQ9kv2.js} +4 -4
- package/dist/{vectorPdfExport-9kP7srXG.js.map → vectorPdfExport-B7vQ9kv2.js.map} +1 -1
- package/package.json +1 -1
- package/dist/index-D0nU_guL.cjs.map +0 -1
- package/dist/index-D75MmxRi.js.map +0 -1
|
@@ -11186,19 +11186,9 @@ function applyWarpAwareSelectionBorders(selection) {
|
|
|
11186
11186
|
const first = worldAngles[0] ?? 0;
|
|
11187
11187
|
const ALL_SAME_TOL_DEG = 2;
|
|
11188
11188
|
const allSame = Math.abs(first) > 0.5 && worldAngles.every((a) => angleDelta(a, first) <= ALL_SAME_TOL_DEG);
|
|
11189
|
-
const anyRotated = worldAngles.some((a) => Math.abs(a) > 0.5);
|
|
11190
11189
|
let targetAngle = null;
|
|
11191
11190
|
if (allSame) {
|
|
11192
11191
|
targetAngle = first;
|
|
11193
|
-
} else if (anyRotated) {
|
|
11194
|
-
const rad = (d) => d * Math.PI / 180;
|
|
11195
|
-
const deg = (r) => r * 180 / Math.PI;
|
|
11196
|
-
let sx = 0, sy = 0;
|
|
11197
|
-
for (const a of worldAngles) {
|
|
11198
|
-
sx += Math.cos(rad(a));
|
|
11199
|
-
sy += Math.sin(rad(a));
|
|
11200
|
-
}
|
|
11201
|
-
targetAngle = norm(deg(Math.atan2(sy, sx)));
|
|
11202
11192
|
}
|
|
11203
11193
|
if (targetAngle != null) {
|
|
11204
11194
|
const restoreKidsFromWorld = () => {
|
|
@@ -11225,7 +11215,6 @@ function applyWarpAwareSelectionBorders(selection) {
|
|
|
11225
11215
|
selection.setCoords();
|
|
11226
11216
|
selection.dirty = true;
|
|
11227
11217
|
selection.__pixldocsAlignedAngle = targetAngle;
|
|
11228
|
-
if (!allSame) selection.__pixldocsMixedRotation = true;
|
|
11229
11218
|
}
|
|
11230
11219
|
}
|
|
11231
11220
|
}
|
|
@@ -13570,21 +13559,10 @@ const PageCanvas = forwardRef(
|
|
|
13570
13559
|
fabricCanvas.on("selection:cleared", () => {
|
|
13571
13560
|
});
|
|
13572
13561
|
fabricCanvas.on("object:scaling", (e) => {
|
|
13573
|
-
var _a2, _b2, _c, _d, _e, _f
|
|
13562
|
+
var _a2, _b2, _c, _d, _e, _f;
|
|
13574
13563
|
if (!isActiveRef.current) return;
|
|
13575
13564
|
const t = e.target;
|
|
13576
13565
|
if (t) lastResizeScaleTargetRef.current = t;
|
|
13577
|
-
try {
|
|
13578
|
-
if (t instanceof fabric.ActiveSelection && t.__pixldocsMixedRotation) {
|
|
13579
|
-
const corner2 = (_a2 = e.transform) == null ? void 0 : _a2.corner;
|
|
13580
|
-
if (corner2 === "ml" || corner2 === "mr") {
|
|
13581
|
-
t.scaleY = t.scaleX;
|
|
13582
|
-
} else if (corner2 === "mt" || corner2 === "mb") {
|
|
13583
|
-
t.scaleX = t.scaleY;
|
|
13584
|
-
}
|
|
13585
|
-
}
|
|
13586
|
-
} catch {
|
|
13587
|
-
}
|
|
13588
13566
|
prepareGroupSelectionTransformStart(t);
|
|
13589
13567
|
markTransforming(t);
|
|
13590
13568
|
didTransformRef.current = true;
|
|
@@ -13748,24 +13726,36 @@ const PageCanvas = forwardRef(
|
|
|
13748
13726
|
time: Math.round(performance.now()),
|
|
13749
13727
|
corner,
|
|
13750
13728
|
groupSelectionId: obj.__pixldocsGroupSelection,
|
|
13751
|
-
currentTransformAction: (
|
|
13729
|
+
currentTransformAction: (_a2 = fabricCanvas._currentTransform) == null ? void 0 : _a2.action,
|
|
13752
13730
|
selection: summarizeFabricObjectForResizeDebug(obj),
|
|
13753
13731
|
textChildren: obj.getObjects().filter((child) => child instanceof fabric.Textbox).map((child) => summarizeFabricObjectForResizeDebug(child))
|
|
13754
13732
|
};
|
|
13755
13733
|
}
|
|
13756
13734
|
}
|
|
13757
|
-
|
|
13758
|
-
if (obj instanceof fabric.ActiveSelection && !_asMixedRotForReflow && (corner === "ml" || corner === "mr" || corner === "mt" || corner === "mb")) {
|
|
13735
|
+
if (obj instanceof fabric.ActiveSelection && (corner === "ml" || corner === "mr" || corner === "mt" || corner === "mb")) {
|
|
13759
13736
|
const isXSide = corner === "ml" || corner === "mr";
|
|
13760
13737
|
const sAxis = isXSide ? Math.abs(obj.scaleX ?? 1) : Math.abs(obj.scaleY ?? 1);
|
|
13761
13738
|
if (sAxis > 1e-3) {
|
|
13762
|
-
|
|
13739
|
+
const hasRotatedChild = obj.getObjects().some(
|
|
13740
|
+
(c) => Math.abs((c.angle ?? 0) % 360) > 0.5
|
|
13741
|
+
);
|
|
13742
|
+
if (hasRotatedChild) {
|
|
13743
|
+
if (isXSide) {
|
|
13744
|
+
obj._set("scaleY", obj.scaleX ?? 1);
|
|
13745
|
+
} else {
|
|
13746
|
+
obj._set("scaleX", obj.scaleY ?? 1);
|
|
13747
|
+
}
|
|
13748
|
+
obj.setCoords();
|
|
13749
|
+
obj.dirty = true;
|
|
13750
|
+
return;
|
|
13751
|
+
}
|
|
13752
|
+
if (isXSide && ((_b2 = groupShiftReflowSnapshotRef.current) == null ? void 0 : _b2.selection) !== obj) {
|
|
13763
13753
|
groupShiftReflowSnapshotRef.current = null;
|
|
13764
13754
|
const logicalGroupId = obj.__pixldocsGroupSelection;
|
|
13765
13755
|
if (logicalGroupId) {
|
|
13766
13756
|
try {
|
|
13767
13757
|
const state = useEditorStore.getState();
|
|
13768
|
-
const pageChildren2 = ((
|
|
13758
|
+
const pageChildren2 = ((_c = state.canvas.pages.find((p) => p.id === pageId)) == null ? void 0 : _c.children) ?? [];
|
|
13769
13759
|
const groupNode = findNodeById(pageChildren2, logicalGroupId);
|
|
13770
13760
|
if (groupNode && isGroup(groupNode) && !isStackLayoutMode(groupNode.layoutMode)) {
|
|
13771
13761
|
const entries = obj.getObjects().map((c) => ({
|
|
@@ -13795,7 +13785,7 @@ const PageCanvas = forwardRef(
|
|
|
13795
13785
|
const asRect0 = obj.getBoundingRect();
|
|
13796
13786
|
let didReflowTextChild = false;
|
|
13797
13787
|
for (const child of obj.getObjects()) {
|
|
13798
|
-
if (child instanceof fabric.Group && (child.__cropGroup || ((
|
|
13788
|
+
if (child instanceof fabric.Group && (child.__cropGroup || ((_d = child._ct) == null ? void 0 : _d.isCropGroup))) {
|
|
13799
13789
|
const ct = child.__cropData;
|
|
13800
13790
|
if (!ct) continue;
|
|
13801
13791
|
if (isXSide) {
|
|
@@ -13900,7 +13890,7 @@ const PageCanvas = forwardRef(
|
|
|
13900
13890
|
didReflowTextChild = true;
|
|
13901
13891
|
}
|
|
13902
13892
|
}
|
|
13903
|
-
if (isXSide && ((
|
|
13893
|
+
if (isXSide && ((_e = groupShiftReflowSnapshotRef.current) == null ? void 0 : _e.selection) === obj) {
|
|
13904
13894
|
const snap = groupShiftReflowSnapshotRef.current;
|
|
13905
13895
|
const anchorEntry = snap.children[0];
|
|
13906
13896
|
const anchorTopLive = anchorEntry.obj.top ?? 0;
|
|
@@ -14056,7 +14046,7 @@ const PageCanvas = forwardRef(
|
|
|
14056
14046
|
setGuides(gridGuidesForScale.length ? [...scaleGuides, ...gridGuidesForScale] : scaleGuides);
|
|
14057
14047
|
if (drilledGroupIdRef.current) {
|
|
14058
14048
|
try {
|
|
14059
|
-
(
|
|
14049
|
+
(_f = fabricCanvas.__updateDrilledGroupOutline) == null ? void 0 : _f.call(fabricCanvas);
|
|
14060
14050
|
} catch {
|
|
14061
14051
|
}
|
|
14062
14052
|
}
|
|
@@ -24286,9 +24276,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
24286
24276
|
}
|
|
24287
24277
|
return svgString;
|
|
24288
24278
|
}
|
|
24289
|
-
const resolvedPackageVersion = "0.5.
|
|
24279
|
+
const resolvedPackageVersion = "0.5.321";
|
|
24290
24280
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
24291
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
24281
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.321";
|
|
24292
24282
|
const roundParityValue = (value) => {
|
|
24293
24283
|
if (typeof value !== "number") return value;
|
|
24294
24284
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -25102,7 +25092,7 @@ class PixldocsRenderer {
|
|
|
25102
25092
|
await this.waitForCanvasScene(container, cloned, i);
|
|
25103
25093
|
}
|
|
25104
25094
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
25105
|
-
const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-
|
|
25095
|
+
const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-B7vQ9kv2.js");
|
|
25106
25096
|
const prepared = preparePagesForExport(
|
|
25107
25097
|
cloned.pages,
|
|
25108
25098
|
canvasWidth,
|
|
@@ -27422,7 +27412,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
27422
27412
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
27423
27413
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
27424
27414
|
try {
|
|
27425
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-
|
|
27415
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-B7vQ9kv2.js");
|
|
27426
27416
|
try {
|
|
27427
27417
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
27428
27418
|
} catch {
|
|
@@ -27822,4 +27812,4 @@ export {
|
|
|
27822
27812
|
buildTeaserBlurFlatKeys as y,
|
|
27823
27813
|
collectFontDescriptorsFromConfig as z
|
|
27824
27814
|
};
|
|
27825
|
-
//# sourceMappingURL=index-
|
|
27815
|
+
//# sourceMappingURL=index-CHc4fbe1.js.map
|