@mindexec/cli 0.2.271 → 0.2.272

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.271",
3
+ "version": "0.2.272",
4
4
  "description": "MindExec local runtime and bridge CLI",
5
5
  "main": "server.js",
6
6
  "type": "module",
@@ -5,7 +5,7 @@
5
5
  const DEBUG = false;
6
6
  const FPS_DEBUG = false;
7
7
  const FRAME_PERF_DEBUG = false;
8
- const MINDMAP_CORE_BUILD_ID = '20260620-css3d-flat-wheel-v719';
8
+ const MINDMAP_CORE_BUILD_ID = '20260620-css3d-flat-wheel-v720';
9
9
  const CanvasPhase = Object.freeze({
10
10
  Booting: 'booting',
11
11
  BoardFileLoading: 'board-file-loading',
@@ -514,6 +514,41 @@
514
514
  return module?.currentThemeObject?.userData?.localSnapGrid === true;
515
515
  }
516
516
 
517
+ function hasPassiveOverlaySelectionSurface(module) {
518
+ const selectionNodeId = module?._textOverlayV2State?.selectionNodeId;
519
+ const selectableTextOverlayNodeId = module?._selectableTextOverlayNodeId;
520
+ return !!(
521
+ (typeof selectionNodeId === 'string' ? selectionNodeId.length > 0 : selectionNodeId) ||
522
+ (typeof selectableTextOverlayNodeId === 'string' ? selectableTextOverlayNodeId.length > 0 : selectableTextOverlayNodeId)
523
+ );
524
+ }
525
+
526
+ function hasPassiveOverlayMotionWork(module) {
527
+ return PASSIVE_DOM_OVERLAY_RUNTIME_ENABLED === true ||
528
+ hasPassiveOverlaySelectionSurface(module) === true;
529
+ }
530
+
531
+ function deferPassiveOverlayForCameraMotion(module, nowMs = 0, delayMs = PASSIVE_OVERLAY_IDLE_DELAY_MS) {
532
+ if (!module || hasPassiveOverlayMotionWork(module) !== true) {
533
+ return false;
534
+ }
535
+
536
+ const baseTime = Number(nowMs || 0) || (typeof performance !== 'undefined' && typeof performance.now === 'function'
537
+ ? performance.now()
538
+ : Date.now());
539
+ module._passiveOverlayResumeAt = Math.max(
540
+ Number(module._passiveOverlayResumeAt || 0),
541
+ baseTime + delayMs
542
+ );
543
+
544
+ if (module._overlayDirty === true ||
545
+ hasPassiveOverlaySelectionSurface(module) === true) {
546
+ module._deferPassiveOverlayRefresh = true;
547
+ }
548
+
549
+ return true;
550
+ }
551
+
517
552
  function renderCss3dCameraForCameraNavigation(module, reason = 'camera-navigation') {
518
553
  const renderer = module?.cssRenderer || null;
519
554
  const camera = module?.camera || null;
@@ -1483,10 +1518,7 @@
1483
1518
 
1484
1519
  module._viewSyncMotionActive = true;
1485
1520
  module._cameraMovingThisFrame = false;
1486
- module._passiveOverlayResumeAt = Math.max(
1487
- Number(module._passiveOverlayResumeAt || 0),
1488
- frameStart + PASSIVE_OVERLAY_IDLE_DELAY_MS
1489
- );
1521
+ deferPassiveOverlayForCameraMotion(module, frameStart);
1490
1522
 
1491
1523
  const forceUpdateFrames = Math.max(0, Number(module._forceUpdateFrames || 0));
1492
1524
  const cameraNavigationForceFrames = Math.max(0, Number(module._cameraNavigationForceFrames || 0));
@@ -1518,11 +1550,7 @@
1518
1550
  module._css3dVisualChangedSinceLastRender === true) {
1519
1551
  module._css3dVisualDeferredForMotion = true;
1520
1552
  }
1521
- if (module._overlayDirty === true ||
1522
- String(module._textOverlayV2State?.selectionNodeId || '').trim() ||
1523
- String(module._selectableTextOverlayNodeId || '').trim()) {
1524
- module._deferPassiveOverlayRefresh = true;
1525
- }
1553
+ deferPassiveOverlayForCameraMotion(module, frameStart);
1526
1554
 
1527
1555
  if (hasForcedUpdate) {
1528
1556
  module._forceUpdateFrames = Math.max(0, forceUpdateFrames - 1);
@@ -1700,11 +1728,7 @@
1700
1728
  module._preserveVisibleSetThisFrame = true;
1701
1729
  module._lastVisibilityCullingSkipReason = 'ua-ultra-camera-only';
1702
1730
  recordCameraMotionFastPathStatus(module, 'hit', 'ua-ultra-camera-only');
1703
- if (module._overlayDirty === true ||
1704
- String(module._textOverlayV2State?.selectionNodeId || '').trim() ||
1705
- String(module._selectableTextOverlayNodeId || '').trim()) {
1706
- module._deferPassiveOverlayRefresh = true;
1707
- }
1731
+ deferPassiveOverlayForCameraMotion(module, frameStart);
1708
1732
 
1709
1733
  if (shouldSyncMindCanvasPerfClasses()) {
1710
1734
  const visibleNodeCount = Number(module._visibleIds?.size || module._prevVisibleIds?.size || 0);
@@ -1928,11 +1952,7 @@
1928
1952
  module._preserveVisibleSetThisFrame = true;
1929
1953
  module._lastVisibilityCullingSkipReason = 'ua-ultra-resident-camera-only';
1930
1954
  recordCameraMotionFastPathStatus(module, 'hit', 'ua-ultra-resident-camera-only');
1931
- if (module._overlayDirty === true ||
1932
- String(module._textOverlayV2State?.selectionNodeId || '').trim() ||
1933
- String(module._selectableTextOverlayNodeId || '').trim()) {
1934
- module._deferPassiveOverlayRefresh = true;
1935
- }
1955
+ deferPassiveOverlayForCameraMotion(module, frameStart);
1936
1956
 
1937
1957
  if (shouldSyncMindCanvasPerfClasses()) {
1938
1958
  const visibleNodeCount = Number(module._visibleIds?.size || module._prevVisibleIds?.size || 0);
@@ -5554,15 +5574,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
5554
5574
  this._fullResVisibilityReconcilePending = true;
5555
5575
  }
5556
5576
  this._preserveVisibleSetThisFrame = true;
5557
- this._passiveOverlayResumeAt = Math.max(
5558
- Number(this._passiveOverlayResumeAt || 0),
5559
- (typeof performance !== 'undefined' && typeof performance.now === 'function' ? performance.now() : Date.now()) + PASSIVE_OVERLAY_IDLE_DELAY_MS
5560
- );
5561
- if (this._overlayDirty === true ||
5562
- String(this._textOverlayV2State?.selectionNodeId || '').trim() ||
5563
- String(this._selectableTextOverlayNodeId || '').trim()) {
5564
- this._deferPassiveOverlayRefresh = true;
5565
- }
5577
+ deferPassiveOverlayForCameraMotion(this);
5566
5578
 
5567
5579
  if (snapGridPointAlreadySet !== true &&
5568
5580
  Number.isFinite(Number(clientX)) &&
@@ -6676,7 +6688,7 @@ ${summaryLines.map(line => `<div>${escapeNodeFrameDebugHtml(line)}</div>`).join(
6676
6688
  (this.isPanning === true || isRecentPanInput) && this.isZooming !== true
6677
6689
  ? PASSIVE_OVERLAY_PAN_IDLE_DELAY_MS
6678
6690
  : PASSIVE_OVERLAY_IDLE_DELAY_MS;
6679
- this._passiveOverlayResumeAt = frameStart + overlayResumeDelayMs;
6691
+ deferPassiveOverlayForCameraMotion(this, frameStart, overlayResumeDelayMs);
6680
6692
  }
6681
6693
  const zoomEndedThisFrame = wasZoomingLastFrame && !this.isZooming;
6682
6694
  const panEndedThisFrame = wasPanningLastFrame && !this.isPanning;
@@ -7,8 +7,8 @@
7
7
  <title>MindExec | Business Execution OS for solo builders</title>
8
8
  <meta name="description" content="MindExec is an AI business execution OS for solo builders who want to turn notes, research, assets, and repeatable execution Skills into revenue-producing work." />
9
9
  <base href="/" />
10
- <link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260620-css3d-flat-wheel-v719" />
11
- <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-css3d-flat-wheel-v719" />
10
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/app.css?v=20260620-css3d-flat-wheel-v720" />
11
+ <link rel="stylesheet" href="_content/MindExecution.Shared/css/mind-map-overrides.css?v=20260620-css3d-flat-wheel-v720" />
12
12
  <!-- ?�▼??Font Awesome (local) ?�▼??-->
13
13
  <link rel="stylesheet" href="_content/MindExecution.Shared/lib/font-awesome/css/all.min.css" />
14
14
  <!-- ?�▲??-->
@@ -579,7 +579,7 @@
579
579
  }
580
580
 
581
581
  const base = '_content/MindExecution.Shared/js/';
582
- const scriptVersion = '20260620-css3d-flat-wheel-v719';
582
+ const scriptVersion = '20260620-css3d-flat-wheel-v720';
583
583
  const scriptUrl = (script) => `${base}${script}?v=${scriptVersion}`;
584
584
  console.log(`[Script Loader] Shared JS version: ${scriptVersion}`);
585
585
  const criticalScripts = [
@@ -1,5 +1,5 @@
1
1
  self.assetsManifest = {
2
- "version": "HbEMpqDj",
2
+ "version": "rMgJYHGs",
3
3
  "assets": [
4
4
  {
5
5
  "hash": "sha256-+CSYMcqLNTsq3VnH11jgYyOCCdxvHzL74CBmo4sCmMU=",
@@ -78,7 +78,7 @@
78
78
  "url": "_content/MindExecution.Shared/js/marked.min.js"
79
79
  },
80
80
  {
81
- "hash": "sha256-pqgIWpUz6vTGCp3lE2eggiI30LkkJEe2bnEgUAHQqnI=",
81
+ "hash": "sha256-OfDD/XylNogN5jOaQ1cxR4R8petHNlT5kN9MzKBKw0I=",
82
82
  "url": "_content/MindExecution.Shared/js/mind-map-core.js"
83
83
  },
84
84
  {
@@ -834,7 +834,7 @@
834
834
  "url": "image-manifest.json"
835
835
  },
836
836
  {
837
- "hash": "sha256-aLa9QYcCCEMlUbiccQn+feYoFv4B1hNGLZh3cWsW6MU=",
837
+ "hash": "sha256-cOnCEqbiPKhLSk9sCuqIcxCnzveJXLV+5mwpfpfKSJY=",
838
838
  "url": "index.html"
839
839
  },
840
840
  {
@@ -1,4 +1,4 @@
1
- /* Manifest version: HbEMpqDj */
1
+ /* Manifest version: rMgJYHGs */
2
2
  // Hosted deployments should prefer the network over stale offline caches.
3
3
  // This service worker immediately clears old Blazor offline caches and unregisters itself.
4
4