@mindexec/cli 0.2.432 → 0.2.434

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mindexec/cli",
3
- "version": "0.2.432",
3
+ "version": "0.2.434",
4
4
  "description": "MindExec local runtime and bridge CLI",
5
5
  "main": "server.js",
6
6
  "type": "module",
@@ -7152,6 +7152,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
7152
7152
  'lodCleanup',
7153
7153
  'lodNodeScan',
7154
7154
  'lodResidentApply',
7155
+ 'lodLinePatch',
7155
7156
  'lodImageInstances',
7156
7157
  'lodPositionPatch',
7157
7158
  'lodFallbacks',
@@ -2238,6 +2238,8 @@
2238
2238
  const hasContextSourcePins =
2239
2239
  wrapper.classList?.contains?.('has-context-source-pins') === true
2240
2240
  || wrapper.querySelector?.('.map-node-automation-context-source, .map-node-automation-worker-source') !== null;
2241
+ if (window.MindMapRenderPlan?.reuseCssMediaFrameDom?.(
2242
+ cssObject, worldWidth, worldHeight, hasContextSourcePins) === true) return;
2241
2243
 
2242
2244
  wrapper.style.width = `${scaledWidth}px`;
2243
2245
  wrapper.style.height = `${scaledHeight}px`;
@@ -2596,9 +2598,14 @@
2596
2598
  const wrapperFrame = toFrame(wrapperWidth / resolutionScale, wrapperHeight / resolutionScale);
2597
2599
  const innerFrame = toFrame(innerWidth, innerHeight);
2598
2600
  const liveFrame = wrapperFrame || innerFrame || userFrame;
2599
- const wrapperRect = typeof wrapper?.getBoundingClientRect === 'function' ? wrapper.getBoundingClientRect() : null;
2600
- const innerRect = typeof inner?.getBoundingClientRect === 'function' ? inner.getBoundingClientRect() : null;
2601
- const hasMeasuredLayout =
2601
+ if (options.preferModelDimensions === true) {
2602
+ return modelFrame || liveFrame || { width: 1, height: 1 };
2603
+ }
2604
+
2605
+ const canMeasureLayout = entry?.currentType === 'CSS' || cssObject?.visible === true;
2606
+ const wrapperRect = canMeasureLayout && typeof wrapper?.getBoundingClientRect === 'function' ? wrapper.getBoundingClientRect() : null;
2607
+ const innerRect = canMeasureLayout && typeof inner?.getBoundingClientRect === 'function' ? inner.getBoundingClientRect() : null;
2608
+ const hasMeasuredLayout = canMeasureLayout && (
2602
2609
  Number(wrapperRect?.width || 0) > 0
2603
2610
  || Number(wrapperRect?.height || 0) > 0
2604
2611
  || Number(innerRect?.width || 0) > 0
@@ -2606,17 +2613,13 @@
2606
2613
  || Number(wrapper?.offsetWidth || 0) > 0
2607
2614
  || Number(wrapper?.offsetHeight || 0) > 0
2608
2615
  || Number(inner?.offsetWidth || 0) > 0
2609
- || Number(inner?.offsetHeight || 0) > 0;
2616
+ || Number(inner?.offsetHeight || 0) > 0);
2610
2617
  const cssCurrentlyVisible =
2611
2618
  (entry?.currentType === 'CSS' || cssObject?.visible === true)
2612
2619
  && cssObject?.visible !== false
2613
2620
  && hasMeasuredLayout;
2614
2621
  const intrinsicAspectRatio = getCssMediaIntrinsicAspectRatio(nodeModel, cssObject);
2615
2622
 
2616
- if (options.preferModelDimensions === true) {
2617
- return modelFrame || liveFrame || { width: 1, height: 1 };
2618
- }
2619
-
2620
2623
  if (intrinsicAspectRatio > 0 && modelFrame && liveFrame) {
2621
2624
  const modelAspectError = getCssMediaFrameAspectError(modelFrame, intrinsicAspectRatio);
2622
2625
  const liveAspectError = getCssMediaFrameAspectError(liveFrame, intrinsicAspectRatio);
@@ -2666,7 +2669,10 @@
2666
2669
  if (!videoContent?.style) {
2667
2670
  return;
2668
2671
  }
2669
-
2672
+ if (_module?.renderDebugFlags?.tintVideoLayoutInNear !== true) {
2673
+ if (videoContent.dataset?.debugVideoLayout) clearCss3dVideoDebugLayout(cssObject);
2674
+ return;
2675
+ }
2670
2676
  const hostWidth = Math.max(1, Number(frameWidth || 0));
2671
2677
  const hostHeight = Math.max(1, Number(frameHeight || 0));
2672
2678
  const intrinsicSize = getCss3dVideoIntrinsicSize(nodeModel, cssObject?.element?.querySelector?.('video') || null);
@@ -2972,20 +2978,20 @@
2972
2978
  const hostWidth = Math.max(
2973
2979
  1,
2974
2980
  Math.round(Number(
2975
- state.videoContent.clientWidth
2976
- || cssObject?.userData?.worldWidth
2981
+ cssObject?.userData?.worldWidth
2977
2982
  || nodeModel?.width
2978
2983
  || nodeModel?.Width
2984
+ || state.videoContent.clientWidth
2979
2985
  || 0
2980
2986
  ))
2981
2987
  );
2982
2988
  const hostHeight = Math.max(
2983
2989
  1,
2984
2990
  Math.round(Number(
2985
- state.videoContent.clientHeight
2986
- || cssObject?.userData?.worldHeight
2991
+ cssObject?.userData?.worldHeight
2987
2992
  || nodeModel?.height
2988
2993
  || nodeModel?.Height
2994
+ || state.videoContent.clientHeight
2989
2995
  || 0
2990
2996
  ))
2991
2997
  );
@@ -24026,8 +24032,6 @@
24026
24032
  }
24027
24033
  }
24028
24034
 
24029
- // ▼▼▼ [Critical fix] Race condition: disable removal of the original Blazor template DOM ▼▼▼
24030
- // The original template is needed for markdown height measurement, so keep it in the DOM.
24031
24035
  // (It lives in a hidden div, so it is not visible.)
24032
24036
  /*
24033
24037
  const razorMapNode = document.querySelector(`#${templateId}`);
@@ -24070,8 +24074,6 @@
24070
24074
  });
24071
24075
  clonedElement.style.borderRadius = '0px';
24072
24076
 
24073
- // ▼▼▼ [Changed] Remove offset to match WebGL positioning (top-left origin) ▼▼▼
24074
- // CSS3DObject places the wrapper at the coordinate. If we add an extra 50% offset
24075
24077
  // to the inner element, the node shifts down-right.
24076
24078
  // Remove it so the element sits at the wrapper origin (0,0).
24077
24079
  clonedElement.style.position = 'absolute';
@@ -24102,8 +24104,6 @@
24102
24104
  wrapper.style.transition = CSS3D_WRAPPER_TRANSITION;
24103
24105
  wrapper.style.webkitTransition = CSS3D_WRAPPER_WEBKIT_TRANSITION;
24104
24106
 
24105
- // ▼▼▼ [Critical fix] Change wrapper origin from center (default) to top-left (0 0) ▼▼▼
24106
- // WebGL meshes use the top-left as (0,0,0), so align CSS3D elements accordingly.
24107
24107
  wrapper.style.transformOrigin = '0 0';
24108
24108
  // ▲▲▲ [Critical fix] ▲▲▲
24109
24109