@pixldocs/canvas-renderer 0.5.169 → 0.5.170

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.
@@ -15770,6 +15770,20 @@ function paintRepeatableSections(config, repeatableSections) {
15770
15770
  }
15771
15771
  }
15772
15772
  const PREVIEW_DEBUG_PREFIX = "[canvas-renderer][preview-debug]";
15773
+ function computeFontSignature(config) {
15774
+ var _a;
15775
+ if (!((_a = config == null ? void 0 : config.pages) == null ? void 0 : _a.length)) return "";
15776
+ const fams = /* @__PURE__ */ new Set();
15777
+ const walk = (nodes) => {
15778
+ var _a2;
15779
+ for (const node of nodes || []) {
15780
+ if (node == null ? void 0 : node.fontFamily) fams.add(String(node.fontFamily));
15781
+ if ((_a2 = node == null ? void 0 : node.children) == null ? void 0 : _a2.length) walk(node.children);
15782
+ }
15783
+ };
15784
+ for (const page of config.pages) walk(page.children || []);
15785
+ return Array.from(fams).sort().join("|");
15786
+ }
15773
15787
  function countUnderlinedNodes(config) {
15774
15788
  var _a;
15775
15789
  if (!((_a = config == null ? void 0 : config.pages) == null ? void 0 : _a.length)) return 0;
@@ -15888,6 +15902,7 @@ function PixldocsPreview(props) {
15888
15902
  ]);
15889
15903
  const config = isResolveMode ? resolvedConfig : props.config;
15890
15904
  const previewKey = react.useMemo(() => `${pageIndex}`, [pageIndex]);
15905
+ const fontSignature = react.useMemo(() => computeFontSignature(config), [config]);
15891
15906
  react.useEffect(() => {
15892
15907
  if (isResolveMode) return;
15893
15908
  if (!config) {
@@ -15917,7 +15932,7 @@ function PixldocsPreview(props) {
15917
15932
  return () => {
15918
15933
  cancelled = true;
15919
15934
  };
15920
- }, [isResolveMode, config]);
15935
+ }, [isResolveMode, fontSignature]);
15921
15936
  const handleCanvasReady = react.useCallback(() => {
15922
15937
  console.log(PREVIEW_DEBUG_PREFIX, "canvas-ready", { pageIndex, action: "settled" });
15923
15938
  setCanvasSettled(true);
@@ -16120,9 +16135,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
16120
16135
  }
16121
16136
  return svgString;
16122
16137
  }
16123
- const resolvedPackageVersion = "0.5.169";
16138
+ const resolvedPackageVersion = "0.5.170";
16124
16139
  const PACKAGE_VERSION = resolvedPackageVersion;
16125
- const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.169";
16140
+ const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.170";
16126
16141
  const roundParityValue = (value) => {
16127
16142
  if (typeof value !== "number") return value;
16128
16143
  return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
@@ -16620,7 +16635,7 @@ class PixldocsRenderer {
16620
16635
  await this.waitForCanvasScene(container, cloned, i);
16621
16636
  }
16622
16637
  console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
16623
- const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-BU855BbG.cjs"));
16638
+ const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-BnFtIh0l.cjs"));
16624
16639
  const prepared = preparePagesForExport(
16625
16640
  cloned.pages,
16626
16641
  canvasWidth,
@@ -18722,7 +18737,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
18722
18737
  if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
18723
18738
  sanitizeSvgTreeForPdf(svgToDraw);
18724
18739
  try {
18725
- const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-BU855BbG.cjs"));
18740
+ const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-BnFtIh0l.cjs"));
18726
18741
  try {
18727
18742
  await logTextMeasurementDiagnostic(svgToDraw);
18728
18743
  } catch {
@@ -19121,4 +19136,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
19121
19136
  exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
19122
19137
  exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
19123
19138
  exports.warmTemplateFromForm = warmTemplateFromForm;
19124
- //# sourceMappingURL=index-Bg1FRZ3d.cjs.map
19139
+ //# sourceMappingURL=index-CtWVrKc-.cjs.map