@pixldocs/canvas-renderer 0.5.153 → 0.5.155

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.
@@ -5786,12 +5786,14 @@ function bakeTextSvgToFabricLineStarts(svg, obj, w) {
5786
5786
  if (canUseAlignmentAnchor && Number.isFinite(lineW) && lineW > 0) {
5787
5787
  lineAnchors.push({
5788
5788
  x: alignmentAnchor === "end" ? baseStart + lineW : baseStart + lineW / 2,
5789
- anchor: alignmentAnchor
5789
+ anchor: alignmentAnchor,
5790
+ width: lineW
5790
5791
  });
5791
5792
  } else {
5792
5793
  lineAnchors.push({
5793
5794
  x: baseStart + (Number.isFinite(firstGlyphAdjust) ? firstGlyphAdjust : 0),
5794
- anchor: "start"
5795
+ anchor: "start",
5796
+ width: lineW
5795
5797
  });
5796
5798
  }
5797
5799
  }
@@ -5829,7 +5831,8 @@ function bakeTextSvgToFabricLineStarts(svg, obj, w) {
5829
5831
  if (!lineAnchor || typeof lineAnchor.x !== "number" || !Number.isFinite(lineAnchor.x)) return _m;
5830
5832
  const cleanPre = stripAnchorAttrs(pre);
5831
5833
  const cleanPost = stripAnchorAttrs(post);
5832
- return `<tspan${cleanPre} x="${lineAnchor.x.toFixed(3)}" text-anchor="${lineAnchor.anchor}" data-pd-line-anchor="1"${cleanPost}>`;
5834
+ const widthAttr = Number.isFinite(lineAnchor.width) && lineAnchor.width > 0 ? ` data-pd-line-width="${lineAnchor.width.toFixed(3)}"` : "";
5835
+ return `<tspan${cleanPre} x="${lineAnchor.x.toFixed(3)}" text-anchor="${lineAnchor.anchor}" data-pd-line-anchor="1"${widthAttr}${cleanPost}>`;
5833
5836
  }
5834
5837
  );
5835
5838
  return newSvg;
@@ -16058,9 +16061,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
16058
16061
  }
16059
16062
  return svgString;
16060
16063
  }
16061
- const resolvedPackageVersion = "0.5.153";
16064
+ const resolvedPackageVersion = "0.5.155";
16062
16065
  const PACKAGE_VERSION = resolvedPackageVersion;
16063
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.153";
16066
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.155";
16064
16067
  const roundParityValue = (value) => {
16065
16068
  if (typeof value !== "number") return value;
16066
16069
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -16495,7 +16498,7 @@ class PixldocsRenderer {
16495
16498
  await this.waitForCanvasScene(container, cloned, i);
16496
16499
  }
16497
16500
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
16498
- const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-DTssH1-U.js");
16501
+ const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-vCax992V.js");
16499
16502
  const prepared = preparePagesForExport(
16500
16503
  cloned.pages,
16501
16504
  canvasWidth,
@@ -18597,7 +18600,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
18597
18600
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
18598
18601
  sanitizeSvgTreeForPdf(svgToDraw);
18599
18602
  try {
18600
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-DTssH1-U.js");
18603
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-vCax992V.js");
18601
18604
  try {
18602
18605
  await logTextMeasurementDiagnostic(svgToDraw);
18603
18606
  } catch {
@@ -18607,6 +18610,12 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
18607
18610
  console.warn("[canvas-renderer][pdf-export] anchor-bake pass failed (continuing):", e);
18608
18611
  }
18609
18612
  await rasterizeShadowMarkers(svgToDraw);
18613
+ try {
18614
+ const { promoteFabricLineAnchorsToSelectableText } = await import("./vectorPdfExport-vCax992V.js");
18615
+ promoteFabricLineAnchorsToSelectableText(svgToDraw);
18616
+ } catch (e) {
18617
+ console.warn("[canvas-renderer][pdf-export] selectable anchor promotion failed (continuing):", e);
18618
+ }
18610
18619
  return svgToDraw;
18611
18620
  } catch {
18612
18621
  return null;
@@ -18947,4 +18956,4 @@ export {
18947
18956
  collectFontDescriptorsFromConfig as y,
18948
18957
  collectFontsFromConfig as z
18949
18958
  };
18950
- //# sourceMappingURL=index-CAH9akzI.js.map
18959
+ //# sourceMappingURL=index-BQA8_wgq.js.map